欢迎光临
我们一直在努力

mysql多实例部署

1.修改my.cnf

[mysql]

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld_safe

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

user =

password =

[mysqld1]

#explicit_defaults_for_timestamp=true

port = 3306

skip-name-resolve

server_id=1

datadir=/data/master

max_connections=3000

slow-query-log=on ##开启慢查询

slow-query-log-file=/var/log/mysql1/mysql-slow-queries.log

long_query_time=3

##开启二进制文件

log-bin=/data/master_binlog/mysql1_bin.log

log-bin-index=/data/master_binlog/binlog.index

binlog-do-db=ibuy

innodb_buffer_pool_size=2G #缓存

innodb_log_file_size = 512M

innodb_log_files_in_group = 3

innodb_additional_mem_pool_size = 64M

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

pid-file=/data/master/mysql.pid

#query_cache_size = 128M #查询缓存,合适查操作比较多的数据库

symbolic-links=0

sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

log-error=/var/log/mysql1/mysqld.log

user=mysql

[mysqld2]

port=3307

server_id=2

explicit_defaults_for_timestamp=true

skip-name-resolve

datadir=/data/slave

max_connections=3000

slow-query-log=on ##开启慢查询

slow-query-log-file=/var/log/mysql2/mysql-slow-queries.log

long_query_time=3

log-bin=/data/slave_binlog/mysql_bin.log ##开启二进制文件

log-bin-index=/data/slave_binlog/binlog.index

binlog-do-db=ibuy

innodb_buffer_pool_size=3G #缓存

innodb_log_file_size = 512M

innodb_log_files_in_group = 3

innodb_additional_mem_pool_size = 64M

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

pid-file=/data/slave/mysql.pid

#query_cache_size =512M #查询缓存,合适查操作比较多的数据库

symbolic-links=0

sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

log-error=/var/log/mysql2/mysqld.log

user=mysql

[mysqld_safe]

#max_allowed_packet=20480

#log-error=/var/log/mysql/mysqld.log

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

2.创建数据目录

		
  1. mkdir -p /data/master
  2. mkdir -p /data/slave
  3. mkdir -p /data/master_binlog
  4. mkdir -p /data/slave_binlog
  5. mkdir /var/log/mysql1
  6. mkdir /var/log/mysql2
  7. chown mysql.mysql /data/master -R
  8. chown mysql.mysql /data/slave -R
  9. chmod 777 /var/log/mysql1
  10. chmod 777 /var/log/mysql2
  11. chmod 777 /var/lib/mysql

3.初始化DB

/usr/local/mysql/scripts/mysql_install_db --datadir=/data/master 
/usr/local/mysql/scripts/mysql_install_db --datadir=/data/slave 
4. 安装工具 
	
  1. cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
  2. cp /usr/local/mysql/bin/mysqld_multi /usr/bin

5.修改环境变量

#vim /etc/profile

PATH=$PATH:/usr/local/mysql/bin

export PATH

1.mysql启动

	
  1. mysqld_multi start 1 启动实例1
  2. mysqld_multi start 1-2 启动实例1,2

2.命令行登陆

	
  1. mysql -u your_user -p your_password -P3307 -S /tmp/mysql3307.sock
由于涉及权限问题,mysqld_multi不能控制关闭mysql多实例,自己写了个关闭脚本 #!/bin/bash user="" password="" read -p "Please input mysqld ID 1-2:" ID if [ "$ID" == "1" ]; then #read -p "Please input mysqld port number 3306-3307:" port /usr/local/mysql/bin/mysqladmin -u$user -p$password -S /var/lib/mysql/mysql3306.sock shutdown && echo "close mysqld master successful" elif [ "$ID" == "2" ]; then /usr/local/mysql/bin/mysqladmin -u$user -p$password -S /var/lib/mysql/mysql3307.sock shutdown && echo "close mysqld slave successful" else echo "Please input mysqld ID 1-2:" fi
赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。