准备两台机器,分别安装数据库
- 主库:10.1.2.18
- 从库:10.1.2.168
主库配置
主数据库(master)中新建一个用户用于从数据库(slave)读取主数据库二进制日志,sql 语句如下:
mysql>CREATE USER 'repl'@'%' IDENTIFIED BY '123456';#创建用户
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';#分配权限
mysql>flush privileges; #刷新权限
同时修改 mysql 配置文件开启二进制日志,新增部分如下:
[mysqld]
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
然后重启数据库,使用show master status;语句查看主库状态,如下所示:
从库配置
同样先新增几行配置:
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
然后重启数据库,使用如下语句连接主库:
CHANGE MASTER TO MASTER_HOST='10.1.2.18',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000005',
MASTER_LOG_POS=154;
#后面两个参数的值与主库保持一致
接着运行start slave;开启备份,正常情况如下图所示:Slave_IO_Running 和 Slave_SQL_Running 都为 yes。
show slave status\G
可以用这个步骤开启多个从库。
附加内容
关闭从复制
stop slave;
删除从复制
reset slave all
参考文章:https://blog.fleyx.com/blog/detail/2018-09-10-10-38/
https://www.cnblogs.com/zhoujie/p/mysql1.html
https://www.cnblogs.com/ymworkroom/p/10716919.html
https://www.cnblogs.com/wuyoucao/p/10965903.html
https://www.cnblogs.com/yuanfang0903/p/11232655.html
https://blog.csdn.net/mbytes/article/details/86711508