一、准备工作
1. 卸载原有MariaDB(如有)
sudo yum remove -y mariadb-libs sudo rm -rf /var/lib/mysql
2. 安装依赖
sudo yum install -y libaio numactl openssl-devel
3. 创建MySQL用户和目录
sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql sudo mkdir -p /data/mysql/{data,logs,tmp} sudo chown -R mysql:mysql /data/mysql
二、下载并安装MySQL 5.7
1. 下载二进制包(选择国内镜像加速)
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
2. 解压并安装
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ cd /usr/local sudo ln -s mysql-5.7.44-linux-glibc2.12-x86_64 mysql
3. 配置环境变量
echo 'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee /etc/profile.d/mysql.sh source /etc/profile
三、初始化数据库
1. 初始化数据目录
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/data/mysql/data \ --log-error=/data/mysql/logs/mysql-error.log
注意:初始化后会生成临时root密码,记录在日志中:
sudo grep 'temporary password' /data/mysql/logs/mysql-error.log
2. 生成SSL/RSA文件
sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data
四、配置MySQL服务
1. 创建配置文件 /etc/my.cnf
[mysqld] basedir=/usr/local/mysql datadir=/data/mysql/data socket=/data/mysql/mysql.sock log-error=/data/mysql/logs/mysql-error.log pid-file=/data/mysql/mysql.pid character-set-server=utf8mb4 collation-server=utf8mb4_general_ci max_connections=1000 tmpdir=/data/mysql/tmp [client] socket=/data/mysql/mysql.sock
2. 创建Systemd服务文件 /usr/lib/systemd/system/mysqld.service
[Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf ExecReload=/bin/kill -HUP $MAINPID Restart=always [Install] WantedBy=multi-user.target
3. 启动服务
sudo systemctl daemon-reload sudo systemctl start mysqld sudo systemctl enable mysqld
五、安全配置
1. 运行安全向导
sudo /usr/local/mysql/bin/mysql_secure_installation
按提示操作:
-
输入初始化时的临时密码
-
设置新root密码
-
移除匿名用户(选Y)
-
禁止root远程登录(选Y)
-
移除test数据库(选Y)
-
重载权限表(选Y)
2. 开放防火墙(如需远程访问)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload
六、验证安装
mysql -u root -p -e "SELECT VERSION();"
应输出类似:
+-----------+ | VERSION() | +-----------+ | 5.7.44 | +-----------+
七、故障排查指南
1. 启动失败检查
# 查看错误日志 sudo tail -50 /data/mysql/logs/mysql-error.log # 检查权限 sudo ls -l /data/mysql/ # 检查端口占用 sudo netstat -tulnp | grep 3306
2. 常见问题解决
-
错误1:
libaio.so.1: cannot open shared object file
解决:sudo yum install -y libaio
-
错误2:
PID file cannot create
解决:sudo chown mysql:mysql /data/mysql sudo rm -f /data/mysql/mysql.pid
附:目录结构说明
/data/mysql/ ├── data/ # 数据库文件 ├── logs/ # 错误日志 └── tmp/ # 临时文件
按照此流程操作,即可在CentOS 7.6上完成MySQL 5.7的手动安装。如需远程访问,建议创建专用用户而非直接使用root。