首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 單機多實例 MySQL 部署速查:配置文件隔離、實例初始化、啟動連接與遠程訪問

     編輯:MySQL 資料庫相關知識

在單台伺服器運行多個 MySQL 實例的輕量級方案:共用二進制,隔離配置文件、數據目錄、端口、Socket、PID 文件。本文給出從編譯安裝後的最小化配置步驟,適合快速建立測試/開發/隔離環境。

前提:已完成源碼編譯安裝至 /usr/local/mysql

步驟 1:建立實例專屬配置文件


cp support-files/my-medium.cnf /etc/my_crm.cnf
vi /etc/my_crm.cnf

關鍵差異化配置:


[client]
port = 3308
socket = /usr/local/mysql/tmp/mysql.sock

[mysqld]
port = 3308
socket = /usr/local/mysql/tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/pid-file.pid
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

步驟 2:初始化實例數據目錄


scripts/mysql_install_db \
  --defaults-file=/etc/my_crm.cnf \
  --basedir=/usr/local/mysql/ \
  --datadir=/usr/local/mysql/data

必須指定 --defaults-file,否則讀取默認 /etc/my.cnf 初始化到錯誤目錄。

步驟 3:啟動實例


/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_crm.cnf &

步驟 4:本地連接驗證


/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/tmp/mysql.sock --defaults-file=/etc/my_crm.cnf

步驟 5:遠程連接驗證


# 客戶端機器
mysql -u root -p -P 3308 -h 192.168.2.129

前提:實例授權允許遠程 IP(GRANT ... TO 'root'@'192.168.2.%' ...),防火牆放行 3308 端口。

核心隔離五要素對照表

要素 實例 1 (默認) 實例 2 (CRM) 隔離方式
配置文件 /etc/my.cnf /etc/my_crm.cnf --defaults-file 指定
端口 3306 3308 my.cnf port 參數
Socket /tmp/mysql.sock /usr/local/mysql/tmp/mysql.sock my.cnf socket 參數
數據目錄 /var/lib/mysql /usr/local/mysql/data my.cnf datadir 參數
PID 文件 /var/run/mysqld.pid /usr/local/mysql/pid-file.pid my.cnf pid-file 參數

常見問題

  • 啟動失敗:檢查 error.log,常見權限、目錄不存在、端口衝突
  • 連接失敗:確認 Socket 路徑一致、端口監聽(netstat -tlnp | grep 3308)、防火牆
  • 數據目錄找不到:mysql_install_db 未指定 --defaults-file 導致初始化錯誤位置

生產化建議

  1. 使用 mysqld_multi 統一管理多實例啟停
  2. 各實例獨立 log-error、slow_query_log_file
  3. 資源限制:cgroups 限制 CPU/記憶體,避免單實例佔滿
  4. 監控分離:不同端口註冊 mysqld_exporter
  5. 備份隔離:獨立備份腳本、備份帳號、備份存儲路徑

多實例部署核心是「一份二進制,多份配置」。掌握 --defaults-file 機制與五大隔離要素,即可靈活構建隔離環境。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved