MySql学习之主从复制

来源:互联网 发布:3d打印设计软件 编辑:程序博客网 时间:2024/05/16 04:50

1、复制的基本原理
MySql主从复制基本原理

(1)master将改变记录到二进制日志(binary log)中。这些记录过程叫做二进制日志事件(binary log events)。(2)slave将master的binary log events拷贝到它的中继日志(relay log)中。(3)slave重做中继日志中的事件,将改变应用到自己的数据库中。

MySql复制是异步的且串行化的。

2、复制的基本原则

(1)每个slave只有一个master;(2)每个slave只能有一个唯一的服务器ID;(3)每个master可以有多个slave;

3、复制的最大问题

网络的延迟

4、配置,主从都配置在[mysqld]节点下,一般小写。

(1)主机配置    [必须]server-id=1,主服务器唯一ID;    [必须]log_bin=路径,启用二进制日志。    [可选]log_err=路径,启用错误日志。    [可选]basedir=路径,根目录。    [可选]tmpdir=路径,临时目录。    [可选]datadir=路径,数据目录。    [可选]read-only=0,主机读写都可以。    [可选]binlog-ignore-db=mysql,设置不要复制的数据库。    [可选]binlog-do-db=数据库名字,设置需要复制的数据库。(2)从机配置    [必须]server-id=2,主服务器唯一ID;(3)重启服务。

5、主机创建账号

GRANT REPLICATION SLAVE ON *.* TO 'username'@'从机IP地址' IDENTIFIED BY 'password';

6、从机连接主机

CHANGE MASTER TO MASTER_HOST='主机ID',MASTER_USER='username',MASTER_PASSWORD='password',MASTER_LOG_FILE='master-bin.000001',//Master服务器产生的日志MASTER_LOG_POS=0;

7、启动Slave

start slave;

8、验证

show slave status/G

验证

只有当Slave_IO_Running:Yes,Slave_SQL_Running:Yes时,代表主从复制的配置已经连通。

9、停止主从复制

stop slave;

这里写图片描述

如果出现1198:run STOP SLAVE first,表明已经开启主从复制。

10、查询master状态。

show master status;

这里写图片描述

File:二进制文件,从机连接主机中MASTER_LOG_FILE参数;Position:从哪个位置开始抄数据,从机连接主机中MASTER_LOG_POS参数;Binlog_Do_DB:需要复制的数据库;Binlog_Ignore_Db:不要复制的数据库;
原创粉丝点击