基于 CentOS 7 的 MySQL 8 二进制安装详细步骤
以下是基于 CentOS 7 的 MySQL 8 二进制安装详细步骤:
📦 一、准备工作
卸载冲突组件
systemctl stop mariadb rpm -e --nodeps mariadb-server mariadb rm -rf /var/lib/mysql /etc/my.cnf
💡 避免与 MySQL 冲突需彻底移除 MariaDB。
创建用户与目录
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
mkdir -p /usr/local/mysql/{data,logs,tmp,binlog}
chown -R mysql:mysql /usr/local/mysql
⬇️ 二、安装 MySQL 8
下载并解压二进制包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz -C /usr/local/ cd /usr/local && mv mysql-8.0.33-linux-glibc2.12-x86_64 mysql chown -R mysql:mysql mysql
配置环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile source /etc/profile
⚙️ 三、配置与初始化
创建配置文件 /etc/my.cnf
[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock log-error=/usr/local/mysql/logs/mysql.err pid-file=/usr/local/mysql/mysql.pid character-set-server=utf8mb4 lower_case_table_names=1 [client] socket=/tmp/mysql.sock
⚠️ 注意:lower_case_table_names 需在初始化前设置,否则需重建数据。
初始化数据库
cd /usr/local/mysql bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化后从 logs/mysql.err 中获取临时 root 密码。
🚀 四、启动与连接
配置 systemctl 服务
创建 /etc/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 Restart=on-failure [Install] WantedBy=multi-user.target
启动
systemctl daemon-reload systemctl start mysqld systemctl enable mysqld
修改 root 密码并开放远程访问
mysql -uroot -p # 输入临时密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; CREATE USER 'root'@'%' IDENTIFIED BY '新密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;
🔧 五、验证与调优
检查服务状态
systemctl status mysqld mysql -uroot -p -e "SELECT VERSION();"
防火墙放行端口
firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload
关键提示
数据目录权限需严格归属 mysql 用户。
若安装失败,检查 /usr/local/mysql/logs/mysql.err 日志定位问题。
二进制安装优势在于快速部署和目录定制化,适合生产环境。
六、更改用户认证插件开发远程连接(以root用户为例):
# 先登录mysql服务 mysql -u root -p -- 执行以下命令 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码'; FLUSH PRIVILEGES;
'root'@'%':%表示允许所有外网主机连接,若需限制IP可替换为'root'@'192.168.x.x'mysql_native_password:旧版认证方式,无需公钥交换23。
自动化学习。

浙公网安备 33010602011771号