CentOS 7 安装 MySQL 8
一、安装包下载
二进制包下载地址
https://dev.mysql.com/downloads/mysql/
这里选择 glibc 2.17的,因为CentOS是2.17的(使用命令ldd --version
查看),根据自己操作系统参数选择对应的包,我这里操作系统是
root@mysql_0 tools\]# cat /etc/centos-release RedHat Linux 7.9.200 MySQL选择  ### 二、前期准备 * 创建用户 ```bash useradd -s /sbin/nologin mysql ``` * 创建安装了目录 ```bash mkdir -p /application/ ``` * 创建数据目录 ```bash mkdir -p /data/mysql8 ``` * 修改相关目录的属主信息 ```bash chown -R mysql:mysql /data/mysql8/ chown -R mysql:mysql /application/mysql8/ ``` ### 三、解压并安装 * 将下载好的包上传到服务器 /server/tools目录下 ```bash tar -xf mysql-8.4.6-linux-glibc2.17-x86_64.tar.xz mv /application/mysql/mysql-8.4.6-linux-glibc2.17-x86_64/ /application/mysql8 ``` * 添加环境变量 ```bash vim /etc/profile 加入 mysql的路径 export PATH=/application/mysql8/bin:$PATH source /etc/profile ``` * 数据初始化 ```bash /application/mysql8/bin/mysqld --initialize-insecure --user=mysql --basedir=/application/mysql8 --datadir=/data/mysql8/data ```  * 准备mysql 8 的配置文件 ```bash cat > /data/mysql8/my8.cnf << EOF [mysqld] user=mysql basedir=/application/mysql8 datadir=/data/mysql8/data socket=/data/mysql8/mysql.sock server_id=80 port=3380 autocommit=0 gtid_mode=ON enforce_gtid_consistency=ON binlog_format = ROW # 或 STATEMENT、MIXED log_bin=/data/mysql8/mysql-bin log_error=/data/mysql8/mysql_error.log slow_query_log = 1 slow_query_log_file = /data/mysql8/data/slow.log long_query_time = 0.1 log_queries_not_using_indexes = 1 [mysql] socket=/data/mysql8/mysql.sock [client] socket=/data/mysql8/mysql.sock EOF ``` ### 四、配置系统服务(systemd) * 创建服务文件 ```bash cat > /etc/systemd/system/mysqld8.service << EOF [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/application/mysql8/bin/mysqld --defaults-file=/data/mysql8/my8.cnf LimitNOFILE=5000 #重启策略 Restart=on-failure RestartPreventExitStatus=1 PrivateTmp=false EOF ``` * 启动并设置开机自启 ```bash systemctl daemon-reload # 重新加载服务配置 systemctl start mysqld8.service # 启动服务 systemctl enable mysqld8.service # 开机自启 systemctl status mysqld8.service # 查看状态(确保为active running) ``` ### 五、验证安装 * 查看mysql版本 由于我这里环境还有别的版本,使用绝对路径查查看 ```bash /application/mysql8/bin/mysql -V ```  * 登录mysql 8 ```sql mysql -S /data/mysql8/mysql.sock ```  完毕