1. 程式人生 > >mysqld_multi 多實例啟動mysql

mysqld_multi 多實例啟動mysql

mysqld_multi

假設服務器之前有一個3306的實例在運行了,我們要再添加一個3316端口的實例。


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

[client]

user= root

socket= /tmp/mysql.sock

port= 3306

[mysql]

prompt= ‘[\d] > ‘

[mysqld]

datadir=/bdata/data/nowdb2

socket= /tmp/mysql.sock

user=mysql

port= 3306

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

user=mysql

port = 3316

character-set-server = utf8

default_storage_engine = InnoDB

transaction_isolation =READ-COMMITTED

skip_name_resolve = ON

skip_external_locking

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_file_per_table = ON

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啟動的實例沒有任何影響。

mysqld_multi 多實例啟動mysql