zoukankan      html  css  js  c++  java
  • Linux中安装mysql数据库详细步骤

    前言

    最近在折腾性能测试,在测试一个接口的时候发现少量的并发数时会报错,CPU有很大的iowait比例,大量用户并发时反而没有报错。该接口应用代码没有复杂逻辑,分析初步定为数据库。数据库用的是mysql,需要安装MysqlReport来查看数据库的各项数据,于是在自己的阿里云测试环境进行安装和测试。

    安装步骤

    1.下载

    打开官方下载地址:https://dev.mysql.com/downloads/mysql/5.7.html,根据自己对应是系统进行选择,这里演示的是Linux系统的安装,选择如下图(文件有600多M,下载需要等待一定时间)

    方便大家学习,安装包放百度网盘上:链接:https://pan.baidu.com/s/1hXKUSe3RY7-A0IeW0ihfCg  提取码:v6cj

     如果嫌注册账号麻烦,可以跳过账号注册,直接点击下面的just start my download即可下载,这里用的是windows系统下载,下载完成通过ftp或者rz命令进行文件上传到Linux,当然也可以在Linux系统中用wget方式进行下载,命令是:wget https://dev.mysql.com/downloads/file/?id=494229

     

     2.解压,并放入用户安装目录

    在linux根目录下创建文件夹,将文件上传到该文件夹下,此文件夹为临时文件夹,后面会将解压的文件目录放入/usr/local目录下

      

     

     

     解压安装包:

    解压完成后可以看到如下图文件夹:

     

     将文件夹移动到/usr/local目录下并重命名为mysql

     

     3.安装准备

    3.1 创建mysql组及mysql用户,并授权

    创建mysql组:

     创建mysql用户:

     3.2 创建数据存放目录并授权(注意,这里是在根目录下创建/data/mysql目录,不要搞错了,我是因为没在根目录下创建,所有后面初始化时失败了多次,惨痛的教训,希望后来人不要重蹈覆辙)

    回到根目录下创建数据存放目录/data/mysql:

    查看目录是否创建成功:

     

     3.3 配置my.cnf文件

    根目录下执行:vim /etc/my.cnf

    打开后将下面配置代码粘贴进去,按:wq后按Enter键保存退出: 

    [mysqld]
    bind-address=0.0.0.0
    port=3306
    user=mysql
    basedir=/usr/local/mysql
    datadir=/data/mysql
    socket=/tmp/mysql.sock
    log-error=/data/mysql/mysql.err
    pid-file=/data/mysql/mysql.pid
    #character config
    character_set_server=utf8mb4
    symbolic-links=0
    explicit_defaults_for_timestamp=true


     3.4 初始化数据库

    进入mysql的bin目录:cd /usr/local/mysql/bin    

     执行初始化并查看mysql账户密码:

    ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

    cd /

    cat /data/mysql/mysql.err

     4. 启动mysql

    4.1 将mysql.server放置到/etc/init.d/mysql中

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    

     

     4.2 启动mysql,并查看是否启动成功

     如果启动成功了,表示mysql安装成功了!!!

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

    遇到的问题:

    问题1:初始化时提示:--initialize specified but the data directory has files in it. Aborting.

     原因分析:是因为根目录下data目录下有文件

    解决办法:在根目录下使用rm -rf data,将data文件夹删掉,重新创建一个/data/mysql文件目录即可,命令为:mkdir -p /data/mysql

    问题2:初始化时提示:log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

    原因分析:没有/var/log目录下没有mariadb目录和mariadb.log文件

    解决办法:创建文件目录和文件,然后给Mysql用户赋权即可

    mkdir /var/log/mariadb
    touch /var/log/mariadb/mariadb.log

    chown -R mysql:mysql  /var/log/mariadb/

    5. 修改密码

    5.1 进入mysql的bin目录:cd /usr/local/mysql/bin

    5.2 执行./mysql -u root -p,输入的密码为初始化数据库时的密码,详见上述步骤3.4,执行后显示mysql>即表示进入mysql成功

     5.3  执行下述3个命令,修改密码并刷新权限

    SET PASSWORD = PASSWORD('123456');

    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

    FLUSH PRIVILEGES;

     5.4 重新登录

    这时如果使用(navicat等工具)远程登录,会发现无法连接如下图

     执行以下3个命令(先登录数据库)

    use mysql       #访问mysql库
    update user set host = '%' where user = 'root';      #使root能再任何host访问
    FLUSH PRIVILEGES;

     

    (如果不是使用阿里云云服务,到这里可以使用远程工具连接数据库成功)

    因为我是在阿里云ECS上安装的mysql,所以必须要先去阿里云ECS实例上去打开3306端口,如下图、

    授权对象写自己电脑的Ip地址即可

     然后测试连接,连接成功,如下图

     

     好了,到此,mysql就可以通过navicat或其它远程工具登录使用了。

    只能说该踩的坑一个没少踩,希望后面的小伙伴少踩点坑,顺利安装成功!

    题外话:

     如果不希望每次都到bin目录下使用mysql命令则执行以下命令

    ln -s /usr/local/mysql/bin/mysql /usr/bin

    参考资料:

    https://blog.csdn.net/qq_37598011/article/details/93489404

  • 相关阅读:
    Oracle 与.NET Framework 数据类型映射
    mvc使用JsonResult返回Json数据(转)
    like参数替换
    jquery 等比缩放
    【linq to sql】已有打开的与此命令相关联的 DataReader,必须首先将它关闭
    脚本
    2012年计划——开始我的敏捷个人之行
    在Win7 64位机器上安装Oracle 10客户端以及PlSql
    词干提取算法Porter Stemming Algorithm解读
    开源搜索框架Lucene学习之分词器(2)——TokenFilter类及其子类
  • 原文地址:https://www.cnblogs.com/wx170119/p/12876813.html
Copyright © 2011-2022 走看看