Mysql主从复制及一些要注意的特殊设置

0.准备

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了蓟州免费建站欢迎大家使用!

A.安装数据库: 主从MySQL数据库 (mysql server)都安装好:

版本上,mysql 允许 低版本master 配 高版本slave

https://dev.mysql.com/doc/refman/5.7/en/replication-compatibility.html

当然版本一致是最好了。

B.表同步和数据同步:在从数据库(slave),对 主数据库(master)的表进行数据同步和结构同步(如果只主从复制特定表格,则只针对特定表格同步就行,之后会讲如何配置)

用个navicat一类的工具可以很轻松地做 数据同步和结构同步

1.配置主从模式:

可以参照这位大神的文章:

itwork 的BLOG

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://369369.blog.51cto.com/319630/790921

2.一些小细节:

配置文件怎么找:

windows:  以5.7为例,配置文件位置为:ProgramData\MySQL\MySQL Server 5.7\my.ini

ubuntu:  vi /etc/mysql/my.cnf

mysql如何重启:

Ubuntu: /etc/init.d/mysql restart

windows: 可以从任务管理器服务里,找到mysql,或者用cmd:"net stop mysql57" "net start mysql57"

如果仅仅同步几个table:

slave数据库配置里,使用replicate-do-table 配置,有几个table写几条:

replicate-do-table=db_name.table_name

replicate-do-table=db_name.table_name

修改后记得重启mysql

请注意:db_name 和 table_name 都是 slave数据库本地的db和table名字,不要用master的名字!!

(卡了我好久都没发现错误。。。双方已经联通,然而表的修改监控被filter掉了。。)

如果master数据库的名字 和 slave的不一样:

比如master 叫 db123 , slave的叫 db456。

slave数据库配置里,使用replicate-rewrite-db 配置:

replicate-rewrite-db=db123->db456

做一个简单的名字重写就好。

修改后记得重启mysql。

如果你是VMWare虚拟机做为slave:

编辑slave的另一配置文件,

vi /etc/mysql/mysql.conf.d/mysqld.cnf

将  “bind-address   = 127.0.0.1 ” 这一行 注释掉

如何debug:

a.多查看 server Logs(如果在用 mysql workbench, 点击management,在“instance”栏下找到 server Logs), 里面会提示很多 warning 和 errors,根据错误搜索答案。

b. mysql 官方教学,一步一步查,一些常用指令就可以找到问题所在:

https://dev.mysql.com/doc/refman/5.7/en/replication-problems.html

3.资料参考:

这是mysql配置文件的配置项手册:

https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html


当前标题:Mysql主从复制及一些要注意的特殊设置
本文链接:http://scyanting.com/article/iijoid.html