欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql学习之主从复制

程序员文章站 2024-03-20 20:52:52
...

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

MySql学习之主从复制

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

9、停止主从复制

stop slave;

MySql学习之主从复制

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

10、查询master状态。

show master status;

MySql学习之主从复制

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