MYSQL 主从同步

准备条件

[plain]  view plain  copy
  1. 2个同版本数据库。  
  2. MASTER :192.168.1.66  
  3. SLAVE:192.168.1.99  
  4. 测试数据库名称test_db  

1. 配置MASTER 服务器

 1.1 打开Mysql bin-log

my.ini中做如下配置

[html]  view plain  copy
  1. [mysqld]  
  2.   
  3. default-storage-engine=INNODB  
  4.   
  5. log-bin=mysql-bin  
  6.   
  7. server-id=1  
  8.   
  9. innodb_flush_log_at_trx_commit=1  
  10.   
  11. sync_binlog=1  
  12.   
  13. binlog-do-db=test_db #被复制的数据库  

重启数据库

1.2 创建一个用户为复制数据库连接用户
[html]  view plain  copy
  1. CREATE USER 'repl'@'%' IDENTIFIED BY 'repl';  
  2.   
  3. GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';  
  4.   
  5. FLUSH PRIVILEGES;  
1.3 锁表操作

执行

[html]  view plain  copy
  1. FLUSH TABLES WITH READ LOCK;  

执行后不要关闭当前执行界面。关闭后锁表操作将会失效。

1.4 dump数据库

执行

[html]  view plain  copy
  1. mysqldump --databases  test_db >testdb.db -u root -p  
1.5 查看主库状态

执行并记录状态

[html]  view plain  copy
  1. show master status;  

需要记住File、Position字段后就可以把MASTER只读状态关闭了。

 

1.6 MASTER只读解锁

执行

[html]  view plain  copy
  1. UNLOCK TABLES;  

2. 配置SLAVE 服务器

2.1导入数据库到SLAVE服务器
[html]  view plain  copy
  1. mysql < testdb.db -u root -p  

2.2 my.ini中做如下配置
[html]  view plain  copy
  1. [mysqld]  
  2.   
  3. default-storage-engine=INNODB  
  4.   
  5. server-id=2  

重启SLAVE

2.3设置同步记录

执行

[html]  view plain  copy
  1. CHANGE MASTER TO  
  2.   
  3. MASTER_HOST='192.168.1.66',  
  4.   
  5. MASTER_USER='repl',  
  6.   
  7. MASTER_PASSWORD='repl',  
  8.   
  9. MASTER_LOG_FILE='mysql-bin.000001',  
  10.   
  11. MASTER_LOG_POS=154;  

2.4启动SLAVE 同步

执行  

[html]  view plain  copy
  1. START SLAVE;  

2.5查看SLAVE 是否成功

 

TIPS:从库不要进行写入操作否则会导致,主从不一致 或主从复制失败。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值