MySQL-5.5.28-1.linux2.6.x86_64.rpm-bundle.tar(含 server、client、shared、devel、embedded 等 7 個 RPM)。mkdir -p /usr/local/src/mysql
cd /usr/local/src/mysql
tar -xvf MySQL-5.5.28-1.linux2.6.x86_64.rpm-bundle.tar
rpm -ivh --force --nodeps MySQL-server-*.rpm MySQL-client-*.rpm MySQL-shared-*.rpm
--force 忽略文件衝突,--nodeps 跳過依賴檢查(若缺少 libaio 等請先 yum install libaio)。
# MySQL 5.5 無 --initialize-insecure,首次啟動自動初始化
service mysql start
# 或 systemctl start mysqld (視版本)
mysql -V
mysql -u root -p # 首次無密碼,直接回車
見到 mysql> 提示符即成功。
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('StrongPwd123!');
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'StrongPwd123!';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
| 問題 | 解決 |
|---|---|
| rpm 提示依賴 libaio 缺失 | yum -y install libaio numactl-libs |
啟動報錯 manager of pid-file quit without updating file | 檢查 /var/lib/mysql 權限屬主 mysql:mysql,chown -R mysql:mysql /var/lib/mysql |
| 無法遠程連接 | 確認 bind-address=0.0.0.0 在 /etc/my.cnf [mysqld] 區塊,且防火牆放行 |
| 中文亂碼 | character-set-server=utf8mb4 + collation-server=utf8mb4_general_ci 加入 my.cnf |
mysqldump --all-databases --single-transaction --routines --triggers --events > full.sql → 新實例導入 → mysql_upgrade(如跨大版本)。mysql-community-server),自動解決依賴、獲取安全補丁。