Mysql5.7 在linux下的安装

MySQL版本:5.7

1、下载MySQL5.7

  • 进入上面的地址之后,按照如下操作:
    1566642669450-1
  • 选择版本5.7,linux-Generic下载:
    1566642734962-1

2、解压

  • 我已将下载后的文件解压至/usr/java目录,如下图:
    1566654871193-1
    解压命令:

    1. tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

3、创建一个用户名为mysql的用户并加入mysql用户组

    1. groupadd mysql #添加系统mysql组
    2. useradd -r -g mysql mysql #添加mysql用户(添加完成后可用id mysql查看)

    附图:
    1566643038345-1

4、修改mysql根目录所属用户组

  • 修改解压的目录拥有者为mysql用户,进入到解压目录(根目录)之后执行如下命令:
    1. cd /usr/java/mysql-5.7.27-linux-glibc2.12-x86_64 #进入mysql根目录
    2. chown -R mysql:mysql ./

5、安装数据库

  • 先在mysql的根目录下创建一个data文件夹,用于存储数据:
    1. mkdir data #创建一个文件夹

    之后执行如下命令安装mysql数据库:

    1. ./bin/mysqld
    2. --initialize
    3. --user=mysql
    4. --basedir=/usr/java/mysql-5.7.27-linux-glibc2.12-x86_64
    5. --datadir=/usr/java/mysql-5.7.27-linux-glibc2.12-x86_64/data

    执行上面的命令可能会出现的错误:
    1)、./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    • 解决办法:
      1. yum install -y libaio
  • 2)、bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
    • 解决办法:
      1. yum -y install numactl.x86_64
  • 当出现如下日志,说明安装成功了:
    1566644393015-1
    需要记录下最后一行的密码,是root账号的初始密码,如上图,红色方框标记的地方。

6、再修改当前根目录所属用户组

  • 修改当前目录拥有者为mysql用户,进入到解压目录(根目录)之后执行如下命令:
    1. chown -R mysql:mysql ./

7、修改my.cnf配置文件

  • 修改/etc/my.cnf配置文件,修改内容为如下(或者是直接覆盖):
    1. [client]
    2. socket=/tmp/mysql/mysql.sock
    3. [mysqld]
    4. character_set_server=utf8
    5. init_connect='SET NAMES utf8'
    6. basedir=/usr/java/mysql-5.7.27-linux-glibc2.12-x86_64 #目录需要跟安装目录对应
    7. datadir=/usr/java/mysql-5.7.27-linux-glibc2.12-x86_64/data #目录需要跟安装目录对应
    8. socket=/tmp/mysql/mysql.sock
    9. #不区分大小写
    10. lower_case_table_names = 1
    11. #不开启sql严格模式
    12. sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    13. #设置时区
    14. default-time-zone = '+08:00'
    15. [mysqld_safe]
    16. log-error=/var/log/mysqld.log
    17. pid-file=/usr/java/mysql-5.7.27-linux-glibc2.12-x86_64/data/mysqld.pid
    18. !includedir /etc/my.cnf.d

    保存退出即可。

8、设置开机启动

  • 复制文件
    1. cp /usr/java/mysql-5.7.27-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysqld

    修改/etc/init.d/mysqld文件内容:

    1. vim /etc/init.d/mysqld #打开文件
    2. #修改46 和 47行为如下:
    3. basedir=/usr/java/mysql-5.7.27-linux-glibc2.12-x86_64
    4. datadir=/usr/java/mysql-5.7.27-linux-glibc2.12-x86_64/data

    保存退出即可。

9、启动mysql服务

    1. service mysqld start #启动mysql服务
    2. service mysqld status #查看mysql服务状态
    3. service mysqld stop #停止mysql服务
    4. service mysqld restart #重启mysql服务
  • 如果在启动mysql服务时出现如下错误:
    1)、Starting MySQL.2019-08-24T11:28:12.406529Z mysqld_safe Directory '/tmp/mysql' for UNIX socket file don't exists.
    • 解决办法:因为我们将mysql.sock文件存在了 /tmp/mysql/目录下,但是/tmp/目录下没有mysql文件夹,新建一个就可以了:
      1. mdkir /tmp/mysql
  • 2)、The server quit without updating PID file (/usr/java/mysql-[FAILED]inux-glibc2.12-x86_64/data/ecs-s6-large-2-linux-20190822165314.pid).
    • 解决办法:因为我们将mysql.sock文件存在了 /tmp/mysql/目录下,mysql用户没有操作此目录权限,修改下权限就可以了:
      1. chomod 777 /tmp/mysql/

10、登录mysql

  • 当在控制台输入mysql时,提示:-bash: mysql: command not found
    需要添加软连接才能快捷启动:

    1. ln -s /usr/java/mysql-5.7.27-linux-glibc2.12-x86_64/support-files/mysql /usr/bin

    开始登陆mysql:

    1. mysql -u root -p # 回车输入密码即可

    如果连接mysql出现如下错误:
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    解决办法:检查/etc/my.cnf文件中客户端节点的socket变量是否配置正确,配置正确之后重启服务即可。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:小林博客 www.vvso.cn小林博客 » Mysql5.7 在linux下的安装
分享到: 更多 (0)

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册