CentOS 7.x 二进制部署 Mysql-5.7.32

  1. 当前环境。

    [0 root@dev,172.16.6.3:~]# cat /etc/redhat-release
    CentOS Linux release 7.9.2009 (Core)
    
  2. 下载安装包并解压软链。

    [0 root@dev,172.16.6.3:~]# mkdir -p /server/infra
    [0 root@dev,172.16.6.3:~]# cd /server/infra
    [0 root@dev,172.16.6.3:/server/infra]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32-el7-x86_64.tar.gz
    [0 root@dev,172.16.6.3:/server/infra]# tar xf mysql-5.7.32-el7-x86_64.tar.gz
    [0 root@dev,172.16.6.3:/server/infra]# ln -s /server/infra/mysql-5.7.32-el7-x86_64 /server/infra/mysql
    [0 root@dev,172.16.6.3:/server/infra]# \rm mysql-5.7.32-el7-x86_64.tar.gz
    
  3. 创建依赖,并授权。

    [0 root@dev,172.16.6.3:/server/infra]# useradd -M -s /sbin/nologin mysql
    [0 root@dev,172.16.6.3:/server/infra]# mkdir -p /server/data/mysql /server/logs/mysql
    [0 root@dev,172.16.6.3:/server/infra]# chown -R mysql. /server/data/mysql /server/logs/mysql /server/infra/mysql*
    
  4. 配置 mysql 环境变量。

    [0 root@dev,172.16.6.3:/server/infra]# echo 'export PATH=/server/infra/mysql/bin:$PATH' >>/etc/profile.d/mysql.sh
    [0 root@dev,172.16.6.3:/server/infra]# . /etc/profile.d/mysql.sh
    
  5. 初始化 mysql。

    [0 root@dev,172.16.6.3:/server/infra]# mysqld --initialize --user=mysql --datadir=/server/data/mysql --basedir=/server/infra/mysql
    ...
    2023-03-16T07:07:50.762540Z 1 [Note] A temporary password is generated for root@localhost: P,vHa/!r*8dI		# 初始mysql密码
    ---------------------------------------------------------------------------------------------------------------------------------------------------------
    # 如报错 mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory,请安装:
    [0 root@dev,172.16.6.3:/server/infra]# yum -y install libaio
    ---------------------------------------------------------------------------------------------------------------------------------------------------------
    
  6. 修改配置文件,并启动 mysql。

    [0 root@dev,172.16.6.3:/server/infra]# \rm -r /etc/my.cnf.d
    [0 root@dev,172.16.6.3:/server/infra]# cp /etc/my.cnf{,.bak}
    [0 root@dev,172.16.6.3:/server/infra]# vim /etc/my.cnf
    [client]
    port	             = 3306
    socket	             = /server/infra/mysql/mysql.sock
    
    [mysql]
    prompt="\u@mysql \R:\m:\s [\d]> "
    no-auto-rehash
    
    [mysqld]
    user	             = mysql
    port	             = 3306
    pid-file             = /server/infra/mysql/mysqld.pid
    socket	             = /server/infra/mysql/mysql.sock
    basedir	             = /server/infra/mysql
    datadir	             = /server/data/mysql
    log_timestamps       = SYSTEM
    log-error            = /server/logs/mysql/error.log
    slow_query_log       = 1
    slow_query_log_file  = /server/logs/mysql/slow.log
    long_query_time      = 30
    character-set-server = utf8mb4
    default_time_zone    = "+8:00"
    back_log             = 1024
    max_connections      = 1000
    [0 root@dev,172.16.6.3:/server/infra]# cp support-files/mysql.server /etc/init.d/mysqld
    [0 root@dev,172.16.6.3:/server/infra]# touch /server/logs/mysql/error.log
    [0 root@dev,172.16.6.3:/server/infra]# chown mysql. /server/logs/mysql/error.log
    [0 root@dev,172.16.6.3:/server/infra]# /etc/init.d/mysqld start
    
  7. 登录 mysql。

    [0 root@dev,172.16.6.3:/server/infra]# mysql -u root -p
    Enter password:		# 此处输入前面初始化生成的密码。
    root@mysql 16:20:  [(none)]> set password for 'root'@'localhost' = password('newpassword');
    root@mysql 16:22:  [(none)]> select version();
    +------------+
    | version()  |
    +------------+
    | 5.7.32-log |
    +------------+
    1 row in set (0.00 sec)
    root@mysql 16:22:  [(none)]> \q
    

写作不易,转载请注明出处,谢谢~~

posted @ 2019-04-19 18:04  merlee  阅读(677)  评论(0编辑  收藏  举报