@
目录一、MySQL主从复制步骤
- Master 将改变记录到二进制日志(
binary log
)。这些记录过程叫做二进制日志事件,binary log events
。 - slave 将 master的
binary log events
拷贝到它的中继日志(relay log
); - slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步且串行化的。
二、主从复制的配置
主机的配置
-
[必须]主服务器唯一ID:
serve-id=1
-
[必须]启用二进制日志:
log-bin=自己本地的路径/mysqlbin
-
[可选]启用错误日志:
log-err=自己本地的路径/mysqlerr
-
[可选]Mysql的安装目录:
basedir=xxx
-
[可选]临时目录:
tmpdir=xxx
-
[可选]数据目录:
datadir=xxxx
-
read-only=0
主机读写都可以 -
[可选]设置不要备份数据库:
binlog-ignore-db=mysql
-
[可选]设置需要复制的数据库:
binlog-do-db=需要复制的数据库名字
从机的配置
- 注释掉
serve-id=1
- 从服务器唯一ID;
- [可选]启用二进制日志;
其它操作
- 注意配置完毕后需要重新启动数据库服务。
- 主机从机都需要关闭防火墙。
- 在windows主机上建立账户并且授权slave
grant replication slave on *.* to 'zhangsan'@'从机数据库IP' identified by '123456'
; 允许从机以zhangsan 为用户名,123456为密码登录到我的主机。flush privileges;
刷新一下show master status;
显示主机的情况
- 从机配置复制数据的相关信息
change master to master_host = '主机数据库Ip地址',
master_user = 'zhangsan', # 之前授权时候的用户名
master_password = '123456', # 之前授权时候的密码
master_log_file = 'mysqlbin.000035', # 待复制文件名
master_log_pos=341; # 复制起始位置
-
从机开始复制数据
start slave;
-
停止从机
stop slave;