強烈建議生產環境優先選擇 5.6 系列。5.7 早期版本(5.7.0-5.7.13)在 GTID、嚴格模式、優化器重寫等方面存在大量回歸 Bug,導致升級風險極高。5.6.17 作為 GA 長期支持版本,穩定性經過大規模生產驗證。
Linux - Generic (glibc 2.5) (x86, 64-bit)。tar -xzf mysql-5.6.17-linux-glibc2.5-x86_64.tar.gzmv mysql-5.6.17-linux-glibc2.5-x86_64 /usr/local/mysql && ln -s /usr/local/mysql /usr/local/mysql-5.6.17groupadd mysql && useradd -r -g mysql -s /sbin/nologin mysql cd /usr/local/mysql && chown -R mysql:mysql . && chown -R root:root . && chown -R mysql:mysql data
./scripts/mysql_install_db --user=mysqlcp support-files/mysql.server /etc/init.d/mysqld && chkconfig --add mysqld && chkconfig mysqld onservice mysqld start && ps -ef | grep mysqld/usr/local/mysql/bin/mysqladmin -u root password 'YourStrongPwd'ln -sf /usr/local/mysql/bin/mysql /usr/local/bin/mysql「年初在 Windows 上年輕輕狂裝了 5.7,各種莫名其妙的 Bug 查不到原因,最後發現是版本問題,換回 5.6 瞬間世界清淨。這次 Linux 部署又忘記教訓裝了 5.7,結果依然各種報錯。吸取教訓:生產環境跟隨 LTS 長期支持版,新特性留給測試環境驗證。」
-- 1. 基礎連接
mysql -uroot -p
-- 2. 查看版本與編譯信息
SELECT VERSION(), @@version_compile_os, @@version_compile_machine;
-- 3. 檢查字符集
SHOW VARIABLES LIKE 'character_set%';
-- 4. 測試建表寫入
CREATE DATABASE test_db CHARSET utf8mb4;
USE test_db;
CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20)) ENGINE=InnoDB;
INSERT INTO t1(name) VALUES('測試中文'),('test');
SELECT * FROM t1;
| 錯誤現象 | 典型原因 | 修正動作 |
|---|---|---|
| Starting MySQL... ERROR! The server quit without updating PID file | datadir 權限/殘留進程/配置衝突 | chown -R mysql:mysql data、pkill mysqld、檢查 my.cnf |
| Can't connect to local MySQL server through socket '/tmp/mysql.sock' | socket 路徑不一致/服務未啟動 | 統一 my.cnf 與 client 端 socket 參數、確認服務狀態 |
| Unknown collation: 'utf8mb4_0900_ai_ci' | 5.6 不支援 8.0 新校對規則 | 改用 utf8mb4_general_ci 或 utf8mb4_unicode_ci |
MySQL 5.6.17 二進制包安裝已極度成熟,標準化目錄 + 專用用戶 + 軟鏈接管理 + 服務註冊 形成最小可用閉環。生產環境請務必鎖定 LTS 版本,將精力投入到架構優化而非版本坑點排查中。