Mysql利用mysql_multi配置一台主机多个实例

十年热恋 提交于 2019-12-10 15:17:38

Mysqld_multi可以管理多个帧听不同Unix套接字文件和TCP/IP端口的连接的mysqld 进程。它可以启动或停止服务器,或报告它们的当前状态。


即可以管理多个实例。

笔者在之前也介绍过使用mysqld_safe启用多实例的方法,启动和关闭都指定配置文件,实例间是对立的,互不影响。成功的部署了多个实例主从Replication,今天也介绍下mysql_multi多实例管理,配置简单,方便管理。

1、首先配置my.cnf文件,列出我的Mysql配置文件:

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld_safe    #根据自己的mysql目录配置

mysqladmin = /usr/local/mysql/bin/mysqladmin

[mysqld1]

port    = 3306

socket    = /tmp/mysql3306.sock

basedir=/usr/local/mysql

datadir=/mysqldata/data3306

log-slow-queries=slow_query.txt

long_query_time=2

skip-locking

skip-name-resolve

skip-innodb

max_allowed_packet = 256M

query_cache_size=256M

max_connections=2000

max_connect_errors=10000

key_buffer_size=6000M

read_buffer_size=32M

read_rnd_buffer_size = 32M

myisam_sort_buffer_size=512M

tmp_table_size=1024M

old-passwords

interactive_timeout=60

wait_timeout=60

connect_timeout=60

table_cache=8192

thread_cache_size=512

sort_buffer_size=128M

back_log = 500

thread_concurrency=48

expire_logs_days=10

log-bin=mysql-bin

[mysqld2]

port    = 3307

socket    = /tmp/mysql3307.sock

basedir=/usr/local/mysql

datadir=/mysqldata/data3307

log-slow-queries=slow_query.txt

long_query_time=2

skip-locking

skip-name-resolve

skip-innodb

max_allowed_packet = 256M

query_cache_size=256M

max_connections=2000

max_connect_errors=10000

key_buffer_size=6000M

read_buffer_size=32M

read_rnd_buffer_size = 32M

myisam_sort_buffer_size=512M

tmp_table_size=1024M

old-passwords

interactive_timeout=60

wait_timeout=60

connect_timeout=60

table_cache=8192

thread_cache_size=512

sort_buffer_size=128M

back_log = 500

thread_concurrency=48

expire_logs_days=10

log-bin=mysql-bin

[mysqldump]

quick

max_allowed_packet = 512M

[mysql]

no-auto-rehash

[isamchk]

key_buffer = 512M

sort_buffer_size = 32M

read_buffer = 2M

write_buffer = 2M

[myisamchk]

key_buffer = 512M

sort_buffer_size = 32M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

2、初始化数据库目录:

shell>cd /usr/local/mysql/;./scripts/mysql_install_db   --datadir=/mysqldata/data3307/ --user=mysql

shell>cd /usr/local/mysql/;./scripts/mysql_install_db   --datadir=/mysqldata/data3306/ --user=mysql

初始话成功,会提示OK,否则查看数据库目录是否有权限。 不初始发数据库目录,mysql会启动不了!

3、启动多实例:

shell>/usr/local/mysql/bin/mysqld_multi start 1-2

或

shell>/usr/local/mysql/bin/mysqld_multi start 1

shell>/usr/local/mysql/bin/mysqld_multi start 2

注意这里的12对应my.cnf配置文件 mysqld1mysqld2,以此来区分。

4、本机登录Mysql,如3307端口:

shell>mysql -S  /tmp/mysql3307.sock

mysql> show variables like 'datadir';

+---------------+----------------------+

| Variable_name | Value                |

+---------------+----------------------+

| datadir       | /mysqldata/data3307/ |

+---------------+----------------------+

1 row in set (0.00 sec)

4关闭数据库实例

shell>/usr/local/mysql/bin/mysqld_multi stop 1-2

或

shell>/usr/local/mysql/bin/mysqld_multi stop 1

shell>/usr/local/mysql/bin/mysqld_multi stop 2


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!