雖然 MySQL 5.5 已停止維護,但部分舊系統仍需部署。本文記錄官網 RPM 包下載、依賴解決 (libaio)、初始化數據目錄、權限修復、配置文件部署、密碼設置、目錄遷移、遠程授權、自啟配置的全流程。
wget -c https://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-server-5.5.28-1.rhel5.i386.rpm
wget -c https://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-client-5.5.28-1.rhel5.i386.rpm
wget -c https://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-devel-5.5.28-1.rhel5.i386.rpm
rpm -ivh MySQL-server-5.5.28-1.rhel5.i386.rpm
rpm -ivh MySQL-client-5.5.28-1.rhel5.i386.rpm
rpm -ivh MySQL-devel-5.5.28-1.rhel5.i386.rpm
# 報錯缺 libaio
yum install libaio -y
# 重試安裝
service mysql start 報 ERROR 2002: Can't connect to local MySQL server through socket → 服務未啟動。The server quit without updating PID file → 查看 /var/lib/mysql/hostname.err。Table 'mysql.host' doesn't exist → 執行初始化:/usr/bin/mysql_install_db。Failed to open log (file './mysql-bin.000004', errno 13) → 賦予數據目錄權限:chown -R mysql:mysql /var/lib/mysql/service mysql start → Success。RPM 安裝不自動創建 /etc/my.cnf,複製模板:
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
# 或 my-medium.cnf / my-small.cnf 視機器內存而定
/usr/bin/mysqladmin -u root password 'NewPass123'
# 登錄驗證
mysql -u root -p'NewPass123'
| 用途 | 路徑 |
|---|---|
| 數據目錄 | /var/lib/mysql/ |
| 配置文件/啟動腳本 | /usr/share/mysql/ |
| 客戶端工具 | /usr/bin/ (mysql, mysqladmin, mysqldump...) |
| 啟動腳本 | /etc/rc.d/init.d/mysql |
# 啟動/停止
service mysql start
service mysql stop
# 或
/etc/init.d/mysql start
# 加入開機自啟
chkconfig --add mysql
chkconfig mysql on
# 查看自啟列表
chkconfig --list | grep mysql
mkdir /home/data && chown -R mysql:mysql /home/datamysqladmin -u root -p shutdownmv /var/lib/mysql /home/data//etc/my.cnf:socket = /home/data/mysql/mysql.sock/etc/rc.d/init.d/mysql:datadir=/home/data/mysqlmysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
若仍無法連接,檢查防火牆開放 3306 端口:firewall-cmd --permanent --add-port=3306/tcp && firewall-cmd --reload (或關閉防火牆測試)。
/usr/bin/mysqld_safe &