初识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学院为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |