前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL不停服务下新增从库

MySQL不停服务下新增从库

作者头像
dogfei
发布2020-07-31 10:36:23
1.3K0
发布2020-07-31 10:36:23
举报
文章被收录于专栏:devops探索devops探索

背景:

随着网站访问量的增长,一主一从的架构已经无法满足业务需求,需要增加一到两台从库,我们需要在保证业务正常运行的情况下新增从库

实施:

1、首先需要保证主从两台机器间的正常通信

1

-A INPUT -s IP/32 -j ACCEPT

2、主库使用xtrabackup备份好数据

1

innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf /testdir

3、查看备份好的数据binlog日志文件和位置

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

# cat xtrabackup_info uuid = fb613064-8549-11e8-8bc0-00163e0ecac5 name = tool_name = innobackupex tool_command = --defaults-file=/etc/my.cnf --user=root --password=... --host=localhost --no-timestamp --stream=tar /backup_sql_master/novel_all_20180712 tool_version = 2.4.9 ibbackup_version = 2.4.9 server_version = 5.6.35-log start_time = 2018-07-12 04:30:05 end_time = 2018-07-12 04:35:43 lock_time = 0 binlog_pos = filename 'mysql-bin.000054', position '204194092' #这里就是 innodb_from_lsn = 0 innodb_to_lsn = 217020207929 partial = N incremental = N format = tar compact = N compressed = N encrypted = N

4、从库安装好数据库,做好系统初始化等操作,这里不再讲述,然后在进行还原操作

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

一定要先停止数据库,然后再清空数据目录下的所有数据(全量备份时) service mysql stop cd /usr/local/mysql rm -rf data/* 对数据进行准备工作,合成可用的一致的数据,--use-memory可以加速准备工作的完成 innobackupex --apply-log /data/mysql_backup/full_backup --use-memory=2G --user=root --password=123456 或者 innobackupex --apply-log /testdir/2018-02-12_17-33-22 完成上述工作,证明我们已经获得了一份可用的,数据一致的备份,下面就是数据还原操作了: innobackupex --copy-back /testdir/2018-02-12_17-33-22 或者 innobackupex --datadir=/usr/local/mysql/data --copy-back /testdir/2018-02-12_17-33-22 或者 innobackupex --defaults-file=/etc/my.cnf --copy-back /testdir/2018-02-12_17-33-22 chown mysql:mysql -R data/ /etc/init.d/mysqld restart

这里我们有已经安装好的数据库,只需要将数据目录清空即可

5、建立主从关系

1 2

授权 grant replication slave on *.* to 'xs'@'172.17.24.%' identified by 'zkyz12345';

1 2 3 4

reset slave; change master to master_host='主库IP',master_user='xs',master_password='zkyz12345',master_log_file='mysql-bin.000054',master_log_pos=204194092; start slave; show slave status\G

注意:

这里一定要先reset slave,因为还原后的relay-log文件里保留以前的信心,需要reset下

问题:

1)Slave_IO_Running状态为connecting状态

这里出现这个问题的原因是因为授权导致,授权改为对172.17.24段的地址访问权限,便可以了

2)start slave 失败

这个一般是由于relay-log里保留以前的信息,需要reset slave 一下,然后再重新建立关系

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档