MySQL 4.0.3+ 維護兩類變數:
SET GLOBAL var=val 動態修改 (需 SUPER 權限)。SET SESSION var=val 自行修改 (無特殊權限需求),僅影響自身連線。SHOW GLOBAL VARIABLES / SHOW SESSION VARIABLES / SHOW VARIABLES (預設 Session)。my.cnf/my.ini)運行時 SET 修改優先於上述所有靜態來源,但重啟後失效,持久化必須寫入選項檔。
-- 全域調整 (需 SUPER)
SET GLOBAL max_connections = 1000;
SET GLOBAL innodb_buffer_pool_size = 1073741824; -- 1GB (5.7+ 支援動態)
-- Session 調整 (無特權)
SET SESSION sort_buffer_size = 4194304;
SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
[mysqld]
# 基礎路徑
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
socket = /tmp/mysql.sock
# 核心效能參數
innodb_buffer_pool_size = 4G
innodb_log_file_size = 512M
max_connections = 500
query_cache_type = 0 # 5.7+ 建議關閉
# 字元集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set = utf8mb4
port = 3306
socket = /tmp/mysql.sock
SET SESSION。