mysql啟動多例項 MySQL多例項啟動

2021-10-18 22:07:16 字數 3587 閱讀 5598

一台伺服器安裝mysql,用於測試。同時會用於nextcloud和wordpress的資料庫。nextcloud和wordpress要經常備份,而且以後可能會遷移。所以隔離不同情景的資料,用多例項啟動。便於管理,和提高效能。

首先初始化要用到的資料庫:

mysqld --initialize-insecure --datadir=/home/mysql/3307/data --user=mysql;

mysqld --initialize-insecure --datadir=/home/mysql/3308/data --user=mysql;

mysqld --initialize-insecure --datadir=/home/mysql/3309/data --user=mysql;

mysql自帶了mysqld_multi工具執行多個例項。以下是我的配置檔案:

[mysqld_multi]

mysqld = /usr/bin/mysqld_safe

mysqladmin = /usr/bin/mysqladmin

user = root

#password =

# nextcloud

[mysqld3307]

user= mysql

pid-file= /home/mysql/3307/mysqld.pid

socket= /home/mysql/3307/mysqld.sock

port= 3307

datadir= /home/mysql/3307/data

lc-messages-dir= /usr/share/mysql

skip-external-locking

bind-address= 0.0.0.0

key_buffer_size= 16m

max_allowed_packet= 16m

thread_stack= 192k

thread_cache_size = 8

myisam-recover-options = backup

query_cache_limit= 1m

query_cache_size = 16m

expire_logs_days= 10

max_binlog_size = 100m

innodb_buffer_pool_size = 1g

innodb_io_capacity = 4000

# wordpress

[mysqld3308]

user= mysql

pid-file= /home/mysql/3308/mysqld.pid

socket= /home/mysql/3308/mysqld.sock

port= 3308

datadir= /home/mysql/3308/data

lc-messages-dir= /usr/share/mysql

skip-external-locking

bind-address= 0.0.0.0

key_buffer_size= 16m

max_allowed_packet= 16m

thread_stack= 192k

thread_cache_size = 8

myisam-recover-options = backup

query_cache_limit= 1m

query_cache_size = 16m

expire_logs_days= 10

max_binlog_size = 100m

innodb_buffer_pool_size = 1g

innodb_io_capacity = 4000

innodb_io_capacity = 4000

[mysqld3309]

user= mysql

pid-file= /home/mysql/3309/mysqld.pid

socket= /home/mysql/3309/mysqld.sock

port= 3309

datadir= /home/mysql/3309/data

lc-messages-dir= /usr/share/mysql

skip-external-locking

bind-address= 0.0.0.0

key_buffer_size= 16m

max_allowed_packet= 16m

thread_stack= 192k

thread_cache_size = 8

myisam-recover-options = backup

query_cache_limit= 1m

query_cache_size = 16m

expire_logs_days= 10

max_binlog_size = 100m

innodb_buffer_pool_size = 1g

innodb_io_capacity = 4000

配置多例項,每個例項命名為mysqld*,這裡我三個例項配置分別對應[mysql3307],[mysql3308],[mysql3309]。

啟動:mysqld_multi --defaults-file=/etc/mysql/mysql.conf.d/mysqld_multi.cnf --user=mysql start

如果需要啟動指定的例項,可以在start後面跟上引數,使用例項名,如:

mysqld_multi --defaults-file=/etc/mysql/mysql.conf.d/mysqld_multi.cnf --user=mysql start 3307

或,啟動指定多個例項:

mysqld_multi --defaults-file=/etc/mysql/mysql.conf.d/mysqld_multi.cnf --user=mysql start 3307,3308

檢視啟動狀態:

關閉(也可以關閉指定例項,和start用法一樣):

mysqld_multi --defaults-file=/etc/mysql/mysql.conf.d/mysqld_multi.cnf --user=mysql stop

我在執行stop命令時,例項未關閉。網上遇到該問題的人有改mysqld_multi.cnf指令碼的,我試過,加上引數-s後直接報錯。有說是因為許可權問題,需要授權:grant shutdown on . to 『username』@』localhost』 identified by 『password』。我用的root使用者啟動,試過用mysqladmin去執行關閉,是可以成功的。

Mysql 啟動多例項

mysql預設啟動3306埠例項。現需求再啟動乙個3307埠例項。建立3307例項資料所在目錄 mkdir p data mysqldata mysql3307 mkdir p data mysqldata mysql3307 data chown r mysql mysql data mysqld...

mysql多例項命令 mysql多例項安裝

1 編輯my.cnf檔案增加相關引數如下 mysqld multi user root pass 123 mysqld usr local mysql bin mysqld safe mysqladmin usr local mysql bin mysqladmin log usr local my...

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...