記錄在 openSUSE 12.1 上部署 MySQL Community Server 並配置嚴格 SQL 模式,以及在 Windows Vista 下用命令行客戶端驗證連線、查看版本、用戶、時區、SQL 模式的完整步驟,適合運維快速複現環境。
# 1. 安裝社區版服務端
sudo zypper install mysql-community-server
# 2. 配置嚴格 SQL 模式(防止非法數據入庫)
sudo vim /etc/my.cnf
# [mysqld] 區段添加
sql-mode="TRADITIONAL"
# 3. 加入開機自啟並啟動
sudo /sbin/chkconfig --add mysql
sudo /etc/init.d/mysql start
# 4. 安全初始化(設置 root 密碼、移除匿名用戶、禁止遠程 root、刪除 test 庫)
sudo /usr/bin/mysql_secure_installation
# 5. 創建業務庫與賬號
mysql -u root -p'****'
CREATE DATABASE test CHARSET ucs2;
GRANT ALL PRIVILEGES ON test.* TO test@"%" IDENTIFIED BY "pwd-for-test";
EXIT;
D:\Bin\MySQL\Workbench> mysql -h test.skyiv.com -u test -ppwd-for-test test
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.16-log Source distribution
mysql> SELECT VERSION(), USER(), NOW(), DATABASE();
+------------+--------------------+---------------------+------------+
| VERSION() | USER() | NOW() | DATABASE() |
+------------+--------------------+---------------------+------------+
| 5.5.16-log | test@192.168.1.203 | 2012-02-24 19:37:24 | test |
+------------+--------------------+---------------------+------------+
mysql> SELECT @@sql_mode;
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| 項目 | 值 | 作用 |
|---|---|---|
sql-mode=TRADITIONAL | STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | 嚴格模式:非法數據報錯而非截斷警告,零日期禁止,除零報錯,禁用自動創建用戶,禁用引擎替換 |
CHARSET ucs2 | UCS-2 編碼 | 固定 2 字節/字符,適合早期 Unicode 應用;現代建議 utf8mb4 |
GRANT ... TO user@\"%\" | 允許任意主機連接 | 生產環境建議限定具體 IP/網段 |
# 版本、用戶、時間、當前庫
SELECT VERSION(), USER(), NOW(), DATABASE();
# 當前會話 SQL 模式
SELECT @@sql_mode;
# 全局 SQL 模式
SELECT @@global.sql_mode;
# 字符集設置
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
# 連線狀態
SHOW PROCESSLIST;
SHOW STATUS LIKE 'Threads_connected';
將此備忘錄存入團隊 Wiki,新成員上手即可完成環境驗證與基線配置核對。