Mysql利用mysql_multi配置一台主机多个实例
2016-01-27 17:36
645 查看
在Mysql官方帮助文档中,详细记录中Mysql的启动方式,有mysqld_safe、mysql.server、mysql_multi这三种。关于mysql_multi的介绍:
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,否则查看数据库目录是否有权限。
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
注意这里的1、2对应my.cnf配置文件 mysqld1、mysqld2,以此来区分。
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
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,否则查看数据库目录是否有权限。
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
注意这里的1、2对应my.cnf配置文件 mysqld1、mysqld2,以此来区分。
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
相关文章推荐
- 初始化MySQL用户(删除匿名用户)
- MYSQL/POSTGRESQL/SVN备份设置
- mysql添加多个字段
- Mysql查看编码方式
- mysql 5.7开启并行复制
- mysql json类型快速入门
- 二进制安装MySQL
- mysql压缩包如何使用及PoolableConnectionFactory 和Access denied for user 'testdb'@'localhost'问题的解决
- mysql按字段分组并获取每个分组按照某个字段排序的前三条
- mysql安装
- MySQL与其它主流数据库比较
- 报错:1130-host ... is not allowed to connect to this MySql server
- MySQL硬件资源利用特点
- Mysql数据库优化总结
- mysql数据库 复制一条记录到另外一张表中 本来为null的datatime字段,复制到另一张表中变为了0000-00-00 00:00:00
- Mysql 不存在则插入,存在则更新
- WeChall mysql WriteUp
- mysql 中检查表是否损坏以及修复表
- 分别在MS-DOS和MySQL Command Line Client编写sql语句
- 基于mysql中一些易混淆知识点总结