Mysql 資料庫單機多例項部署手記

2022-01-29 15:55:10 字數 2571 閱讀 6047

最近的研發機器需要部署多個環境,包括資料庫。為了管理方便考慮將mysql資料庫進行隔離,即採用單機多例項部署的方式。

找了會資料發現用的人也不是太多,一般的生產環境為了充分發揮機器效能都是單機單例項執行,再進行一系列的配置調優..

通過mysqld_multi啟動多個mysqld例項程序,每個例項擁有獨立的配置、監聽埠、資料庫檔案、臨時檔案(日誌、socket)等

1  初始化資料目錄

mysql_install_db --datadir=/web/mysql/prd/data --user=mysql

mysql_install_db --datadir=/web/mysql/dev/data --user=mysql

//當然資料目錄也可以拷貝已有的

2 配置多例項檔案

multi.cnf:

#multi server

[mysqld_multi]

mysqld = /home/root/local/mysql/bin/mysqld_safe

mysqladmin = /home/root/local/mysql/bin/mysqladmin

#mysqld_multi log

log = /web/mysql/multi.log

#使用者名稱密碼,用以mysqld_multi操作時透傳給mysqladmin(初始化時一般為匿名訪問,注釋掉即可)

#user=root

#password=

#dev server

[mysqld3306]

user = mysql

port = 3306

socket = /web/mysql/dev/var/mysql.sock

pid-file = /web/mysql/dev/var/mysqld.pid

log-error = /web/mysql/dev/var/mysqld.log

datadir = /web/mysql/dev/data

max_connections = 200

default-storage-engine = innodb

character_set_server = utf8mb4

#prd server

[mysqld3307]

user = mysql

port = 3811

socket = /web/mysql/prd/var/mysql.sock

pid-file = /web/mysql/prd/var/mysqld.pid

log-error = /web/mysql/prd/var/mysqld.log

datadir = /web/mysql/prd/data

max_connections = 1000

default-storage-engine = innodb

character_set_server = utf8mb4

3 啟動多例項

mysqld_multi --defaults-extra-file=multi.cnf start

4  管理多例項

檢查運**況

mysqld_multi --defaults-extra-file=multi.cnf report

當然也可以通過網路埠檢查:

netstat -ntlp tcp

tcp 00:::3306::: *listen 3919/mysqld

tcp 00:::3307::: *listen 15027/mysqld

停止多例項:

mysqld_multi --defaults-extra-file=multi.cnf stop

修改密碼(針對某個例項):

mysqladmin -uroot -s /web/mysql/prd/var/mysql.sock password 123456

連線某個例項:

mysql -uroot -s /web/mysql/prd/var/mysql.sock -p

mysqld_multi執行之後無法啟動例項,

執行report發現例項沒有執行。

原因:mysql例項目錄缺少讀寫許可權,將多例項的資料目錄設定為mysql:mysql的使用者組,並支援讀寫許可權;

啟動例項之後無法停止,mysqld_multi stop不生效

原因: mysqld例項的資料庫管理員密碼與mysqld_multi透傳的管理員密碼不一致(見multi.conf),通過修改密碼可解決。

msyqld_multi命令僅僅對配置檔案做語法檢查,排查問題時需結合multi.log(見配置檔案),以及具體例項的錯誤日誌進行;

例項標號必須為整數,如msyqld3307中3307必須為數字標號;

mysql單機多例項 MYSQL單機多例項

一 建立安裝目錄 mkdir usr local mysql s 5.6.32 mkdir usr local mysql m 5.6.32 wget tar zxv f mysql 5.6.32.tar.gz 二 編譯命令 1 主編引數 cmake dcmake install prefix da...

部署多例項的MySQL資料庫

部署多例項的mysql資料庫,將data.zip上傳到伺服器 目錄下 1 mkdir pv data data 2 cd unzip data.zip archive data.zip inflating data 3306 my.cnf inflating data 3306 mysql infl...

Zk單機多例項部署

當前環境 centos7.3一台 軟體版本 zookeeper 3.5.2 部署目錄 usr local zookeeper 啟動埠 2181,2182,2183 配置檔案 usr local zookeeper conf zoo1 3.cfg yum依賴 yum install j a 1.8.0...