MySQL 5.6 RPM 安裝生產級部署指南
下載地址(官方鏡像)
# Server
https://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
# Client
https://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
# Devel (開發庫)
https://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
關鍵步驟:清理系統自帶MariaDB/MySQL-libs
# 檢查衝突包
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
# 徹底移除
yum remove -y mysql-libs mariadb-libs
# 或強制忽略依賴(不推薦生產環境)
# rpm -e --nodeps mysql-libs-5.1.73
安裝順序
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
目錄結構速查
| 路徑 | 用途 |
| /usr/bin | 客戶端程序 |
| /usr/sbin | mysqld服務端 |
| /var/lib/mysql | 數據目錄、日誌 |
| /usr/share/mysql | 字符集、錯誤信息、默認配置 |
| /usr/include/mysql | C API頭文件 |
首次啟動與密碼重置
service mysql start
# 查看隨機初始密碼
cat /root/.mysql_secret
# 登錄並修改密碼
mysql -uroot -p'隨機密碼'
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPass123!');
mysql> FLUSH PRIVILEGES;
配置文件部署
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
# 編輯 /etc/my.cnf 調整參數
service mysql restart
忘記Root密碼應急重置
service mysql stop
mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('NewPass') WHERE User='root';
mysql> FLUSH PRIVILEGES;
service mysql restart
遠程訪問授權(生產環境建議指定IP)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'StrongPass123!' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
# 防火牆開放3306
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save
# CentOS 7
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
驗證清單
service mysql status 顯示 running
mysql -uroot -p -h 127.0.0.1 本地TCP連接成功
telnet ServerIP 3306 遠程端口通
- Navicat/SQLyog 遠程連接測試