博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 配置主从复制笔记
阅读量:6564 次
发布时间:2019-06-24

本文共 1909 字,大约阅读时间需要 6 分钟。

hot3.png

 

 version :master mysql 5.6   slave mysql   5.7

 env: win7 
 refer:http://dev.mysql.com/doc/refman/5.7/en/replication-upgrade.html

第一步:修改master 配置文件my.ini

   a)关闭mysql  cmd---->net stop mysql56;

   b)修改my.ini

log_bin=mysql-bin//开启日志binlog-do-db=database//需要复制的数据库port = 3306//端口server_id =153319538//id 必需唯一
提示:找不到my.ini 文件的,可以去C:\ProgramData\MySQL\MySQL Server 5.7 目录下,这个文件win7默认是隐藏的。打开my.ini会发现已经有许多配置,我们的 配置必须放在[mysqld]节点下面

 

 c)打开mysql cmd---> net start mysql56;

测试:在命令行输入mysql>show master status; 并且找到File 和 Position 的值记录下来;

如果显示的是空,说明之前的步骤有误。

 

 第二步:创建帐户并授权

mysql> CREATE USER 'repl'@'localhost' IDENTIFIED BY 'slavepass';mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'localhost';

第三步:修改slave 的ini文件

a)关闭mysql  b)修改my.ini c)开启mysql 

server_id =15382016replicate-do-table=database.table//只复制指定的表replicate-ignore-db=database//忽略的数据库log_bin=mysql-bin//启用日志

启动后,登录主数据库的账号和密码等信息,然后启动slave

mysql>change master to master_host='192.168.xxx.210',master_user='repl',master_password='slavepass', master_log_file='mysql-bin.000001',master_log_pos=120

mysql>start slave;

mysql> show slave status;

如果出现: Slave_IO_Running: YesSlave_SQL_Running: Yes以上两项都为Yes,那就ok,如果尝试向master插入数据,就会看到slave 中数据也会更新。

关于my.ini的一些配置信息,可以参考官方文档,还是有很多灵活的配置选项的。

ps : 一些其他的命令

1.重置master, 

mysql>>FLUSH TABLES WITH READ LOCK;//锁表

mysql>reset master

mysql> UNLOCK TABLES;//解锁

2.清除slave  

mysql>CHANGE MASTER TO MASTER_HOST='192.168.xxx.210';  

mysql>reset slave ;

3.停止slave   mysql>stop slave;

补充: 今天看文档发现一些问题需要注意

    mysql 并不推荐我们在Master 中使用过滤,如果要用的推荐在slave中配置。

    如果是复制到其他的数据库(比如 dabase1.tableA---> database2.tableA ) 可以在Slave添加

    dabase1database2

详细配置见,传送门:

补充一:  最近又看了一下,发现mysql 5.7 是可以设置延时的,有许多系统表都值得研究 

use performance_schema;

show tables;

-- ---配置没mysql主从复制 延迟时间 比如: 让slave 12小时同步一次  channel_name  默认是null  5.7 新增的多元复制,
replication_applier_configuration;
-- -- 查看当前链路的状态 remaining_delay 指的就是距离上边设定的延时还有多久 
replication_applier_status;

 

转载于:https://my.oschina.net/u/2308353/blog/737332

你可能感兴趣的文章
LAMP优化策略
查看>>
PDF中添加页面/合并 PDF 内容
查看>>
JS仿FLASH特效可跳转回首页的CSS二级联动菜单
查看>>
页面导入样式时,使用link和@import有什么区别?
查看>>
类成员与类的实例成员
查看>>
Spark源码编译并在YARN上运行WordCount实例
查看>>
Spring AOP + AspectJ annotation example
查看>>
Spring VS EJB 3 的若干认识误区(转)
查看>>
React.js初探(一)
查看>>
Neo4j CQL -(17)- NULL值
查看>>
BZOJ4554: [Tjoi2016&Heoi2016]游戏 luoguP2825 loj2057
查看>>
json_encode后的中文不编码成unicode
查看>>
iOS 导航栏title显示右偏移
查看>>
修改纵断面图标注栏
查看>>
Flex创建带有空间信息的椭圆(Polygon)
查看>>
【转】参照protobuf,将json数据转换成二进制在网络中传输。
查看>>
享元模式
查看>>
Python中的str与bytes之间的转换的三种方法
查看>>
java异常常见面试问题
查看>>
课后作业5
查看>>