三十四、主从复制搭建
作者:互联网
主从复制介绍
全称MySQL Replication
1、主从复制基于binlog来实现的
2、主库发生新的操作,都会记录binlog
3、从库取得主库的binlog进行恢复
4、主从复制的过程是异步
主从复制的前提条件
1、主从数据库时间要一致,网络通畅未被防火墙拦截
2、2个或以上的数据库实例
3、server_id要不同,以便区分不同的节点
4、主库需要开启二进制日志
5、主库需要建立专用的复制用户
6、人为告诉从库一些主库信息(ip、port、user、pass、二进制日志起点)
7、后添加的从库应该从主库进行备份恢复
搭建主从复制
环境
主服务器:10.154.0.111
从服务器:10.154.0.112
1、检查主从服务器参数
mysql> select @@server_id;
mysql> select @@log_bin; #主库开启
$ ping 10.154.0.112
2、主库建立复制用户
权限必须是replication slave
$ mysql -uroot -p -S /tmp/mysql.sock -e "grant replication slave on *.* to repl@'10.154.0.%' identified by '123'";
$ mysql -S /tmp/mysql.sock -e "select user,host from mysql.user";
3、主库备份恢复到从库
#主库备份,记得加--master-data=2
$ mysqldump -uroot -p -S /tmp/mysql.sock -A \
--master-data=2 --single-transaction -R -E --triggers >/backup/full20210405.sql
$ scp /backup/full20210405.sql 10.154.0.112:/backup/full20210405.sql
#从库恢复
$ mysql -S /tmp/mysql.sock
mysql> set sql_log_bin=0;
mysql> source /backup/full20210405.sql
mysql> set sql_log_bin=1;
4、告知从库关于主库的复制信息
#查看主库的备份,记下主库binlog文件名跟起点信息
$ vim /backup/full20210405.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000041', MASTER_LOG_POS=752;
#以上语句等同于如下
$ grep "\-- CHANGE MASTER TO" /backup/full20210405.sql
#登录从库,查看帮助信息
mysql> help change master to
#改成如下
mysql> CHANGE MASTER TO
MASTER_HOST='10.154.0.111', #主库的地址
MASTER_USER='repl', #复制用户
MASTER_PASSWORD='123', #复制密码
MASTER_PORT=3306, #主库端口号
MASTER_LOG_FILE='mysql-bin.000041', #主库binlog
MASTER_LOG_POS=752, #binlog起点
MASTER_CONNECT_RETRY=10; #重连次数
5、从库开启复制线程(IO跟SQL线程)
mysql> start slave;
6、检查主从复制状态
#在主库执行,会发现跟从库的position是一致的
mysql> show master status \G;
#在从库执行,检查有如下两行YES即可
mysql> show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
#以上语句等同于如下
$ mysql -S /tmp/mysql.sock -e "show slave status\G" | grep "Yes"
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
7、检查主从同步情况
#主库创建数据库
$ mysql -uroot -p -S /tmp/mysql.sock -e "create database tzwww;"
#检查从库是否同步
$ mysql -S /data/3308/mysql.sock -e "show databases;"
学习来自:2020开年标班-day13-mysql主从复制介绍及搭建
标签:主库,主从复制,sql,MASTER,三十四,mysql,从库,搭建 来源: https://www.cnblogs.com/tz90/p/14617800.html