基于 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。
posted @ 2025-06-21 22:35  ARYOUOK  阅读(127)  评论(0)    收藏  举报