加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql多实例布局

发布时间:2022-04-08 19:58:06 所属栏目:MySql教程 来源:互联网
导读: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 s
        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.创建数据目录
  
mkdir -p /data/master
 
mkdir -p /data/slave
 
mkdir -p /data/master_binlog
 
mkdir -p /data/slave_binlog
 
mkdir /var/log/mysql1
 
mkdir /var/log/mysql2
 
chown mysql.mysql /data/master -R
 
chown mysql.mysql /data/slave -R
 
chmod 777 /var/log/mysql1
 
chmod 777 /var/log/mysql2
 
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. 安装工具
 
cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
 
5.修改环境变量
#vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin
export PATH
 
 
1.mysql启动
  
mysqld_multi start 1 启动实例1
 
mysqld_multi start 1-2 启动实例1,2
 
2.命令行登陆
  
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

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!