Mysql增加从库

来自linux中国网wiki
跳到导航 跳到搜索

添加新从库

已运行一段时间的主库,要利用备份方式从主库dump 出数据到从库中,先完成基于到某个点的GTID复制,然后从库从那个点之后再开始追主库。

利用mysqldump备份,备份后文件中会有 SET @@GLOBAL.GTID_PURGED='604da4b4-7612-11e9-82c4-4a2e99d36c8d:1-8';

利用xtrabackup 备份,备份后的文件中会直接记录需要路过的GTID信息.



mysqldump方式

new slave 添加my.cnf 信息

在主库上加锁,使只有只读权限

MySQL 系列(四)主从复制、备份恢复方案生产环境实战

用前一天备份 主服务器上,导出新数据库 并导致到new slave

主库备份语句加上--master-data=2,记录其change master to信息

在从库上导入主库备份数据。

mysql -uroot -ppasswd < bak_20180411.sql

查看从库上的备份数据(原来主库备份):bak_20180411.sql,找到其中的CHANGE MASTER TO字段,记录position。

cat bak_20180411.sql | awk 'NR==22{print}'

或者
在把Master端的历史数据同步到Slave端之前,查询下bin_log位置:

>show master status;


在备份文件weibo.sql查看binlog和pos值

#head-25weibo.sql

--CHANGEMASTERTOMASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;#大概22行



4、主库与从库建立复制账号:on master一般不用做 一般在第一次做主从时就有了

grant REPLICATION SLAVE,replication client on *.* to 'root'@'%' identified by '123456';

5、将从库定位到主库(用到了备份数据中的CHANGE MASTER TO信息):

change master to master_user='root',master_host='192.168.18.1',master_password='123456',master_log_file='mysql-bin.00005',master_log_pos=84011;

6、启动从库:

start slave;

7、查看主从是否成功:

show slave status\G;

查看Last_IO_Error是否有报错。根据错误提示修改检查。

Slave_IO_Running         Slave_SQL_Running      Seconds_Behind_Master  查看三个字段。

查找bing 时间戳 on master

这个有空写一下出来 不然老有人来问 用日常备份增加一个slave

see also

不停止MySQL服务增加从库的两种方式

mysql增加从库

mysql增加从库


MySQL之——如何添加新数据库到MySQL主从复制列表