MYSQL主从复制

主从复制的内容其实挺多的,有一主一从,一主多从,主主复制,多主多从(每个主库后面都带个从库),首尾相连复制,环形复制等等,有兴趣的小伙伴可以在网上查查相关资料。

今天我就做一个最简单的,一主一从

环境如下:

linux服务器

linux服务器IP地址192.168.117.66

linux服务器上的mysql版本是5.6

linux服务器上的mysql作为主库

MYSQL主从复制_第1张图片

windows服务器

windows服务器IP地址192.168.117.1

windows服务器上的mysql版本是5.5

windows服务器上的mysql作为从库

MYSQL主从复制_第2张图片

主库:

MYSQL主从复制_第3张图片

#主库的配置文件
/*
server-id=66
log-bin=mysql-bin
binlog-format=mixed
binlog_checksum=none
*/

MYSQL主从复制_第4张图片

MYSQL主从复制_第5张图片

#在主库中执行如下语句,主库授权语句
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO test@'%' IDENTIFIED BY 'test';
FLUSH PRIVILEGES;

MYSQL主从复制_第6张图片

从库

#从库的配置文件
/*
server-id=1
log-bin=mysql-bin
binlog-format=mixed
relay-log=mysql-relay
*/

#从库
CHANGE MASTER TO
master_host='192.168.117.66',
master_user='test',
master_password='test',
master_log_file='mysql-bin.000003', #根据主库的SHOW MASTER STATUS;的结果来定
master_log_pos=120; #根据主库的SHOW MASTER STATUS;的结果来定

#启动从库服务,以下这2种写法都可以
START SLAVE;
SLAVE START;

#
SHOW SLAVE STATUS;

MYSQL主从复制_第7张图片

如果报错: Last_IO_Error: Got fatal error 1236 from master when reading data from binary..........请参考我的这篇文章

如果主从复制配置成功了,那接下来就可以测试一下了

可以在主库中创建一个数据库,再创建一张表,再在表中插入几条数据,再看看从库是否有数据同步过来

MYSQL主从复制_第8张图片

MYSQL主从复制_第9张图片

刷新一下,我们可以看到同步过来了

MYSQL主从复制_第10张图片

你可能感兴趣的:(MYSQL主从复制)