MySQL中Mysqld_multi的示例分析

这篇文章将为大家详细讲解有关MySQL中Mysqld_multi的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Mysqld_multi多实例

    mysql多实例是指在一台服务器上同时运行多个mysqld进程,本文展示了多实例的部署过程,是通过单一配置文件和mysqld_multi命令进行简单管理;
1)准备参数文件/etc/my.cnf或者/etc/mysqld_multi.cnf

[root@db1 ~]# cat /etc/mysqld_multi.cnf

[mysqld_multi]

mysqld     = /usr/bin/mysqld_safe

mysqladmin = /usr/bin/mysqladmin

user       = multi_admin

password   = multipass

[mysqld1]

port=3306

basedir=/usr

datadir=/data/mysql/data

socket=/data/mysql/mysql.sock

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

log-error=/data/mysql/log/mysqld.log

user=mysql

[mysqld2]

port=3307

basedir=/usr

datadir=/data/mysql/data2

socket=/data/mysql/mysql2.sock

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

log-error=/data/mysql/log/mysqld2.log

user=mysql

2)初始化数据库

方法一:

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

mysql_install_db --datadir=/data/mysql/data2 --user=mysql

mysql_install_db初始化数据的临时密码在~/.mysql_secret

方法二:

/usr/sbin/mysqld --initialize --datadir=/data/mysql/data2 --user=mysql

临时密码记录在log-error中(通常/var/log/mysqld.log)

/usr/sbin/mysqld --defaults-file=/etc/my.cnf --initialize --datadir=/data/mysql/data2 --user=mysql

方法三:

mysqld_multi start 2

(实际上也是mysql_install_db 初始化数据库)

3)创建multi_admin管理用户

mysql>create user multi_admin@localhost identified by 'multipass';

mysql>grant shutdown on *.* to multi_admin@localhost identified by ‘aa12AA,.’;

4)启动、停止多实例

mysqld_multi start 1

mysqld_multi start 2

mysqld_multi start 1,2

mysqld_multi start 1-2

mysqld_multi stop 1

mysqld_multi stop 2

mysqld_multi stop 1,2

mysqld_multi stop 1-2

mysqladmin -S /data/mysql/mysql2.sock -umulti_admin -p shutdown

关于“MySQL中Mysqld_multi的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。