MySQL主从复制

【介绍】

需求:A库(MyISAM)读操作,B库(InnDB)写操作

读写分离,两个数据一致。

主从复制:两个数据库,一个主服务,一个从服务

​ 主服务 用来执行写操作,从服务用来执行写

【第一步】配置

以下配置 需要放置在mysqld

服务ID 主从服务ID 需要不同

server-id = 1
#启动二进制日志 log-bin=mysql-bin 时则不需要修改
log-bin= 当前文件所在目录/data/mysqlbin
log-err= 当前文件所在目录/data/mysqlerr
例如
log-bin=D:/phpstudy/PHPTutorial/MySQL/data/mysqlbin
log-err= D:/phpstudy/PHPTutorial/MySQL/data/mysqlerr

若两个库的名字不一致

replicate-rewrite-db=zxkang_sync->test

【第二步】创建主从账号

1.创建用于主从复制的连接账号

GRANT REPLICATION SLAVE ON . TO 'slave'@'%' IDENTIFIED BY '123456';

2.主库运行SQL语句 5.6版本

set global binlog_checksum=NONE;

3.刷新缓存

flush privileges;

3.查看日志文件和管道号

show master status

【第三步】连接副从账号

1.建立主从复制连接

CHANGE MASTER TO
master_host = '39.96.86.74',
master_port = 3306,
master_user = 'slave',
master_password = '123456',
master_log_file = 'mysql-bin.000006',//第二步得到的管道号
master_log_pos = 410;//第二步得到的端口号

2.开始主从复制服务

START SLAVE;

3.查看主从复制服务是否已经连接

show slave status

Slave_IO_Running    Yes
Slave_SQL_Running   Yes

关闭主从复制服务

stop SLAVE

【第四步】测试

在主数据库中新建一个表并保存,去副数据看是否存在。

MySQL

我来吐槽

*

*