初识mysql主从复制

《初识mysql主从复制》要点:
本文介绍了初识mysql主从复制,希望对您有用。如果有疑问,可以联系我们。

初识mysql主从复制

一直想见识一下主从复制,前几天自己试了一下,分享一下!

为了尝试比较麻烦的情况,我这里master是centos系统,slave是windows系统.

1、首先配置主数据库master

修改centos下的 /etc/my.cnf 命令:vim /etc/my.cnf

初识mysql主从复制

看这里

在配置文件里[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,并记下参数

初识mysql主从复制

长这样

建立用于从库复制的帐号 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学院为您提供专业教程。

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...