天天看點

mysqld_multi 多執行個體啟動mysql

假設伺服器之前有一個3306的執行個體在運作了,我們要再添加一個3316端口的執行個體。

直接編輯 /etc/my.cnf ,添加如下内容(紅色部分是後添加的配置項):

[client]

user= root

socket= /tmp/mysql.sock

port= 3306

[mysql]

prompt= '[\d] > '

[mysqld]

datadir=/bdata/data/nowdb2

user=mysql

character-set-server= utf8

default_storage_engine= InnoDB

transaction_isolation  = READ-COMMITTED

skip_name_resolve= ON

skip_external_locking

query_cache_type= OFF

query_cache_size= 0

server-id= 11

log-bin= mysql.bin

binlog_format= ROW

log_error= /bdata/data/nowdb2/error.log

innodb_file_per_table   = ON

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld_safe

log = /var/log/mysqld_multi.log

[mysqld2]

datadir=/data/mysql2

socket = /tmp/mysql2.sock

port = 3316

character-set-server = utf8

default_storage_engine = InnoDB

transaction_isolation  =READ-COMMITTED

skip_name_resolve = ON

server-id = 106

log-bin = mysql-bin

slow_query_log = ON

slow_query_log_file = /data/mysql2/localhost_slow.log

long_query_time = 5

log_error = /data/mysql2/error.log

innodb_flush_log_at_trx_commit = 1

sync_binlog = 1

innodb_support_xa = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

symbolic-links=0

relay_log_info_repository = table

master_info_repository = table

relay_log_recovery = ON

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld.pid

[mysqldump]

quick

max_allowed_packet= 64M

初始化3316執行個體:

/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql2/

啟動3316執行個體:

mysqld_multireport

mysqld_multistart 3316 即可啟動3316執行個體。

同樣的方法,可以再配置其他的mysql執行個體。

關閉的話,建議使用mysqladmin 即可。

注意,mysqld_mulit和原來的mysqld的啟動停止沒有任何關系。我們可以關閉/etc/init.d/mysqld,對mysqld_multi啟動的執行個體沒有任何影響。

本文轉自 lirulei90 51CTO部落格,原文連結:http://blog.51cto.com/lee90/1945542,如需轉載請自行聯系原作者

繼續閱讀