mysql多事例的两种方式

mysql的多实例有两种方式可以实现:

第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势是逻辑简单,配置简单,缺点是管理不便。

第二种是通过官方自带的mysqld_multi使用单个配置文件,这种方式定制每个实例的配置不太方面,优点是集中管理。


一,多配置文件方式,以3307事例为例


1,修改配置文件

cp /etc/my.cnf /opt/3307 && cd /opt/3307 && vim my.cnf

[mysqld]

datadir=/opt/3307

port            = 3307

socket          = /var/lib/mysql/mysql3307.sock

log-error = /opt/3307/3307.err

log-bin = /opt/3307/3307.bin

pid-file = /opt/3307/mysql3307.pid


2,初始化数据库

mysql_install_db --defautls-file=./my.cnf --user=mysql


3,启动新事例

chown mysql. * -R

/usr/bin/mysqld_safe --defaults-file=./my.cnf --user=mysql &


4,更改原来密码:

mysqladmin -uroot -p password 'password' -S /var/lib/mysql/mysql3308.sock


5,关闭事例

mysqladmin -uroot -p'mysql'  --socket=/var/lib/mysql/mysql3307.sock shutdown


二,mysqld_multi的管理,以3308,3309实例为例


1,各个事例初始化数据库-->更改密码后往下进行:

vim /etc/my.cnf

[mysqld_multi] 

mysqld = /usr/bin/mysqld_safe 

mysqladmin = /usr/bin/mysqladmin 

user = root

password = mysql


[mysqld1] 

datadir=/opt/multi/3308

port            = 3308

socket          = /var/lib/mysql/mysql3308.sock

log-error = /opt/multi/3308/3308.err

log-bin = /opt/multi/3308/3308.bin

pid-file = /opt/multi/3308/3308.pid


[mysqld2]

datadir=/opt/multi/3309

port            = 3309

socket          = /var/lib/mysql/mysql3309.sock

log-error = /opt/multi/3309/3309.err

log-bin = /opt/multi/3309/3309.bin

pid-file = /opt/multi/3309/3309.pid


2,mysqld_multi启动

mysqld_multi --defaults-file=./my.cnf start 1,2 >/dev/null 2>&1


3,mysqld_multi关闭

mysqld_multi --defaults-file=./my.cnf stop 1,2 >/dev/null 2>&1

你可能感兴趣的:(mysql,mysqld,mysqld_multi)