Mysql主从配置

Master配置(ip:192.168.1.1):

  • 修改master配置文件并重启服务:
[mysqld]
server_id=1
binlog-do-db=m_test
#binlog-ignore-db=test 
#replicate-ignore-db=test 
log-bin=mysql-bin
binlog_cache_size = 1M
binlog_format=mixed
expire_logs_days=7
  • 重启
service mysqld restart
  • 在master上建立用于复制的用户
 mysql>grant replication slave, replication client on *.* to 'repl'@'192.168.1.2' identified by 'pwd';
  • 备份master数据:先锁表,保证数据一致性
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
+—————–+————+—————-+——————–+
|File             | Position   |  Binlog_Do_DB  |  Binlog_Ignore_DB  |  
+—————–+————+—————-+——————–+
|mysql-bin.000015 |       1273  |                |                    |
+—————–+————+—————-+——————–+

记录文件名和pos号
开始备份数据库
#mysqldump -uroot -p mydb > /tmp/mydb.sql
备份完毕,现在可以解锁数据库表
MySQL> UNLOCK TABLES;

Slave配置(ip:192.168.1.2)

  • 修改slave配置文件并重启服务:
[mysqld]
server_id=2
replicate-do-db=m_test

#binlog-ignore-db=test #不记录binlog
#replicate-ignore-db=test #不复制test库的binlog
#log-bin=mysql-bin
#binlog_cache_size = 1M
#binlog_format=mixed
#expire_logs_days=3
  • 导入备份数据到slave
#mysql -uroot -p -B mydb </tmp/mydb.sql
  • 在slave上同步binlog
mysql>change master to master_host ='192.168.1.1',master_port=3306,master_user='repl',master_password='pwd',master_log_file='mysql-bin.000001',master_log_pos=154;  (注:具体值根据备份master时,SHOW MASTER STATUS的值设定)
  • slave上开启复制或(stop slave)
mysql> start slave; 
  • 查看slave状态
mysql> show slave status\G;

注意:

1.指定binlog-do-db为具体数据库时,不支持跨库操作,可考虑replicate_wild_do_table
2.先创建从库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值