您的位置:首页 > 博客中心 > 数据库 >

linux系统安装mysql

时间:2022-03-15 17:22

操作系统:CentOS Linux release 7.5

安装软件:mysql5.7

说明:使用官方编译好的二进制文件进行安装

1.检查操作系统是否自带mysql

     [root@localhost local]# rpm -qa|grep mysql

     如果没有看第二步。

  1. 如果有..............
  1. 使用yum命令,因为yum命令可以自动删除与mysql相关的依赖;如果使用rpm命令,则还需要手动去删除和mysql相关的文件
    1. [root@localhost local]# yum -y remove mysql-libs-xxxxx

      检查删除是否成功。如果没有提示则删除成功。

      [root@localhost local]# rpm -qa|grep mysql

 

2.下载mysql5.7

     mysql官网 

    将下载的安装包"mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz"利用xftp上传至/usr/local下或者使用命令scp -r  上传到服务器/usr/local下
    解压
    [root@localhost local]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

   修改文件名

  [root@localhost local]# mv mysql-5.7.21-linux-glibc2.12-x86_64/ mysql57

    进入/mysql57创建data文件夹

 

  1. [root@localhost local]# cd mysql57/
        [root@localhost mysql57]# mkdir data    

 

 

5.配置mysql

创建以下文件,设置访问权限,用于mysql配置中

第一步:创建文件/tmp/mysql.sock。并设置权限

创建文件

    [root@localhost mysql57]# mkdir tmp
    [root@localhost mysql57]# cd tmp
    [root@localhost tmp]# ll
    total 0
    [root@localhost tmp]# touch mysql.sock
    [root@localhost tmp]# ll
    total 0
    -rw-r--r-- 1 root root 0 Aug 11 21:59 mysql.sock

设置权限

    [root@localhost tmp]# chown -R mysql:mysql /usr/local/mysql57/tmp/mysql.sock
    [root@localhost tmp]# chmod 755 /usr/local/mysql57/tmp/mysql.sock

第二步:创建/log/mysqld.log。并设置权限

    [root@localhost mysql57]# mkdir log
    [root@localhost mysql57]# cd log
    [root@localhost log]# ll
    total 0
    [root@localhost log]# touch mysqld.log
    [root@localhost log]# chown -R mysql:mysql /usr/local/mysql57/log/mysqld.log
    [root@localhost log]# chmod 755 /usr/local/mysql57/log/mysqld.log

如果出错,说明路径没有写全,要写绝对路径

第三步:创建/tmp/mysqld.pid。并设置权限

    [root@localhost log]# cd ../tmp
    [root@localhost tmp]# touch mysqld.pid
    [root@localhost tmp]# chown -R mysql:mysql /usr/local/mysql57/tmp/mysqld.pid
    [root@localhost tmp]# chmod 755 /usr/local/mysql57/tmp/mysqld.pid  

6.初始化mysql

[root@localhost mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql57/ --datadir=/usr/local/mysql57/data/

可能会报错。报错信息
bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

解决方法:
原因:
yum安装的是libnuma.so.1,但安装时默认安装的是32的,而db2需要的是64位的
1.如果已经安装了libnuma.so.1,先yum remove libnuma.so.1
[root@localhost mysql57]# yum remove libnuma.so.1

 2.安装依赖包 yum -y install numactl.x86_64
[root@localhost mysql57]# yum -y install numactl.x86_64

安装完成后重新,执行
[root@localhost mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql57/ --datadir=/usr/local/mysql57/data/

安装成功

技术图片

 

配置SSL参数(在mysql目录下)

[root@localhost mysql57]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql57/data/
技术图片

由于mysql-5.7.23版本my.cnf不在/support-files下,故我们创建my.cnf文件。

 

  1. [root@localhost mysql57]# touch /etc/my.cnf
  2. [root@localhost mysql57]# vim /etc/my.cnf

 

复制如下内容(每个人安装路径可能不一样,需要修改):

    [mysqld]
    character_set_server=utf8
    init_connect=‘SET NAMES utf8‘
    basedir=/usr/local/mysql57
    datadir=/usr/local/mysql57/data
    port = 3306
    socket=/tmp/mysql.sock
    log-error=/usr/local/mysql57/log/mysqld.log
    pid-file=/usr/local/mysql57/tmp/mysqld.pid
    #表名不区分大小写
    lower_case_table_names = 1
    max_connections=5000
    sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

配置完成

 7.启动mysql

配置mysql自动启动(可根据需要配置)

    [root@localhost mysql57]# cp support-files/mysql.server /etc/init.d/mysql
    [root@localhost mysql57]# vim /etc/init.d/mysql

添加配置(i 进入编辑;esc--> :wq保存退出)
技术图片

 

 

 若配置了mysql自启动方式则可以使用服务方式启动mysql

    #查看mysql状态
    /etc/init.d/mysql status 或者 service mysql status
    #启动mysql
    /etc/init.d/mysql start 或者 service mysql start
    #停止mysql
    /etc/init.d/mysql stop 或者 service mysql stop
    #重新启动mysql
    /etc/init.d/mysql restart 或者 service mysql restart
    查看mysql服务说明启动成功
    ps -ef|grep mysql

 启动mysql

    [root@localhost tmp]# service mysql start
    Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql57/tmp/mysqld.pid).
报错了,上面说没有/usr/local/mysql57/tmp/mysqld.pid。

解决方案:

a)创建文件/usr/local/mysql57/tmp/mysqld.pid
b)修改权限
修改存放mysqld.pid文件目录的权限
    chown -R mysql /usr/local/mysql57/tmp
    chgrp -R mysql /usr/local/mysql57/tmp
    chmod 777 /usr/local/mysql57/tmp

重新启动成功(如果还不行,就是中间某个步骤写错了。或者直接把mysql目录权限赋为777

 

8.配置mysql到环境变量

[root@localhost tmp]# vim /etc/profile
  1. export MYSQL57_HOME=/usr/local/mysql57/bin #mysql5.7/bin路径
  2. export PATH=$PATH:${MYSQ57_HOME}
 

 

 

   

热门排行

今日推荐

热门手游