首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 多實例配置實戰(二):每實例獨立配置文件模式

     編輯:MySQL 綜合教學

MySQL 多實例配置實戰(二):每實例獨立配置文件模式

使用 mysqld_multi 管理多個 MySQL 實例,採用「每實例一個配置文件」模式,優勢在於配置隔離、維護清晰、遷移方便。本文為系列第二篇,重點記錄獨立配置文件的建立、初始化、啟停管理。

架構差異回顧

  • 模式一:單一 my.cnf 包含多 [mysqldN] 區段。
  • 模式二(本文):/etc/my.cnf 僅含 [mysqld_multi],各實例配置放 /etc/my3306.cnf、/etc/my3307.cnf 等。

實施步驟

  1. 規劃實例差異:port、socket、datadir、pid-file、log-error、server-id 各不相同。
  2. 準備目錄結構:
    /data/mysql/3306/{data,logs,tmp}
    /data/mysql/3307/{data,logs,tmp}
    chown -R mysql:mysql /data/mysql
  3. 初始化各實例數據目錄:
    mysqld --defaults-file=/etc/my3306.cnf --initialize-insecure --user=mysql
    mysqld --defaults-file=/etc/my3307.cnf --initialize-insecure --user=mysql
  4. 編寫獨立配置文件(以 3306 為例):
    [mysqld]
    port=3306
    socket=/data/mysql/3306/tmp/mysql.sock
    datadir=/data/mysql/3306/data
    pid-file=/data/mysql/3306/logs/mysqld.pid
    log-error=/data/mysql/3306/logs/error.log
    server-id=3306
    character-set-server=utf8mb4
    innodb_buffer_pool_size=1G
    ...其他參數...
  5. 配置 mysqld_multi 總控文件 /etc/my.cnf:
    [mysqld_multi]
    mysqld     = /usr/local/mysql/bin/mysqld_safe
    mysqladmin = /usr/local/mysql/bin/mysqladmin
    user       = multi_admin
    password   = xxx
    
    [mysqld3306]
    defaults-file = /etc/my3306.cnf
    
    [mysqld3307]
    defaults-file = /etc/my3307.cnf
  6. 啟停與狀態查看:
    mysqld_multi start 3306,3307
    mysqld_multi stop 3306
    mysqld_multi report

優勢總結

  • 配置修改互不影響,適合不同業務對參數有差異化需求。
  • 實例遷移只需複製對應 datadir 與 .cnf,極其方便。
  • 日誌、臨時目錄物理隔離,便於磁碟 IO 分流與故障定位。

系列第一篇(單一配置文件模式)請參考《MySQL 多實例配置實戰(一)》。

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