《初识mysql主从复制》要点:
本文介绍了初识mysql主从复制,希望对您有用。如果有疑问,可以联系我们。
一直想见识一下主从复制,前几天自己试了一下,分享一下!
为了尝试比较麻烦的情况,我这里master是centos系统,slave是windows系统.
1、首先配置主数据库master
修改centos下的 /etc/my.cnf 命令:vim /etc/my.cnf
在配置文件里[mysqld]下添加(注意是在[mysqld]模块下添加,别写错地方)
server-id = x (本机数据库id,唯一标识,只要保证别和slave重复就行)
log-bin = mysql-bin (开启binlog功能,参数是log存放的地址,默认/var/lib/mysql )
(PS:binlog-do-db = xx 指定可以被从数据库复制的库,binlog-ignore-db = xx 指定不可以被复制的库,如果设置了binlog-do-db = xx可以不设置binlog-ignore-db = xx)
配置好重启mysqld服务 systemctl restart mysqld
查看master状态,show master status,并记下参数
建立用于从库复制的帐号 grant replication slave on *.* to "user"@"%" identified by "password";
刷新权限 flush privileges;
把主库的数据迁移到从库保证主从库同步
2、从数据库配置,在windows上找到my.ini
在[mysqld]下添加
log-bin=mysql-bin
server-id=xx
replicate-do-db=work (前两个解释过,那么replicate-do-db是指slave可以复制的库)
重启服务
进入mysql 设置他的master
change master to master_host='master的ip地址',master_port=3306,master_user='前面设置的user',master_password='前面设置的暗码',master_log_file='mysql-bin.000002',master_log_pos=665;(最后俩参数是之前查看master状态几下的参数)
开启复制
start slave
此时主库修改表数据可以在从库中看到了
PS:遇到个小问题,修改/etc/my.cnf时由于操作原因在打开时出现提示
swap file "*.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
原因:
使用vim编辑文件实际是先copy一份临时文件并映射到内存给你编辑, 编辑的是临时文件, 当执行 :w后才保存临时文件到原文件,执行:q后才删除临时文件.每次启动编辑时都会检索这个文件是否已经存在临时文件, 有则询问如何处理,就会出现如上情景.
解决办法(进入目录删除这个临时文件即可): rm *.swp
欢迎参与《初识mysql主从复制》讨论,分享您的想法,维易PHP学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7671.html