記錄 Linux 通用二進制包(非 RPM)安裝 MySQL 5.5.48 完整流程:解壓、用戶組、安裝數據庫、啟動腳本、修改密碼、Socket 修復、遠程授權、Navicat 連接排查。
mysql-5.5.48-linux2.6-x86_64.tar.gz/usr/local/mysqltar xf mysql-5.5.48-linux2.6-x86_64.tar.gz cp -r mysql-5.5.48-linux2.6-x86_64 /usr/local/mysql

groupadd mysql useradd -r -g mysql mysql

cd /usr/local/mysql chown -R mysql:mysql ./ ./scripts/mysql_install_db --user=mysql chown -R root:root ./ chown -R mysql:mysql data

cp support-files/mysql.server /etc/init.d/mysql service mysql start

ps -ef | grep mysql netstat -anlp | grep 3306

./bin/mysqladmin -u root -h localhost.localdomain password '123456'

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

現象: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
原因: /etc/my.cnf 指定 socket=/var/lib/mysql/mysql.sock,但客戶端默認找 /tmp/mysql.sock。
解決: 軟鏈接統一:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
或修改 my.cnf 統一路徑。
現象: Navicat 連接報錯 Host 'x.x.x.x' is not allowed to connect。
原理: MySQL 權限表 mysql.user 按 'user'@'host' 匹配,host='%' 表示任意 IP。
解決:
mysql -uroot -p mysql> USE mysql; mysql> UPDATE user SET Host='%' WHERE User='root'; mysql> FLUSH PRIVILEGES;
注意: 修改 Host 後,需同步更新 Password(或重新設置密碼),否舊密碼不生效。
telnet ip 3306 出現亂碼 + mysql_native_password 為正常協議握手現象,**無需處理**,不影響應用連接。
二進制包安裝核心步驟:**解壓→用戶→初始化→權限→啟動腳本→Socket對齊→遠程授權**。每一步理解原理,遇到問題才能快速定位。