MySQk主从复制
实现主从复制:
- master(主数据库)将改变的数据记录在本地的二进制日志中,该过程称之为二进制事件。
- slave(从数据库)将master的二进制日志拷贝到自己的中继日志中。
- 将数据读取到自己的数据库中,中继日志事件。
MySQl主从复制是异步的,串行化的,有延迟
配置前
关闭防火墙,授权
1. 配置主数据库(以下操作在主数据库中操作)
my.cnf配置文件
[mysqld]
# 主机id唯一标识
server-id=1
# 二进制文件
log-bin='/文件路径/log-bin'
# 错误记录文件
log-error='/文件路径/error-bin'
# 主从同步时忽略的数据库
binlog-ignore-db=mysql_test
# (可选)指定同步的数据库
binlog-do-db=master
** 主数据库授权哪个数据库是从数据
GRANT REPLICATION SLAVE ON *.* to 'remoteRoot’@‘%’ identified by 'remoteRoot'; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,192.168.145.226,加强安全。
查看主数据库状态:show master status
2. 配置从数据库(以下操作在数据库中操作)
my.cnf配置文件
[mysqld]
# 主机id唯一标识
server-id=2
# 二进制文件
log-bin='/文件路径/log-bin'
# 错误记录文件
log-error='/文件路径/error-bin'
# 需要复制的数据库
replicate-do-db=master
从数据库授权哪个数据库为自己的主数据
change master to master_host='192.168.1.1',master_user='remoteRoot',master_password='WrDFFwedw',master_log_file='mysql-bin.000001',master_log_pos=403; //注意不要断开,308数字前后无单引号。
开启主从复制
再从数据库中 start salve;
show slave status;