一、数据备份与恢复阶段,选在凌晨1点进行操作,暂停服务进行备份(允许停服2个小时)

1、首先停止Nginx服务,并且修改数据库用户密码,防止还有新的连接进来

2、杀掉某个用户所有进程

for i in `mysql -udba -pPASSWORD -ssse "show full processlist"|grep DATABAES_NAME |awk '{print $1}'`; do /usr/local/mysql/bin/mysql -udba -pPASSWORD -e "kill $i"; done

3、开发人员记录源库数据

4、采用Innodbbackup对需要的数据库做物理备份。需要备份的数据库信息:A库94G、B库460M。另还需对mysql、performance_schema这2个库做备份,此为mysql服务默认库,保存有用户权限等信息,恢复时需要用到。如果不备份这2个库,数据还原后启动服务会报错Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist。备份命令如下:

time innobackupex --defaults-file=/etc/my.cnf --databases="mysql performance_schema database_a database_b" --user=dba --password=PASSWORD /data/backup/

5、将数据传输到新服务器,这2台机器随后会部署为主从模式

scp -r /data/backup/2018-12-05_11-59-45/ root@10.3.0.224:/data/backup/

scp -r /data/backup/2018-12-05_11-59-45/ root@10.3.0.225:/data/backup/

6、暂停目标服务器已经提前搭建好的MySQL 3310实例,清空数据目录,重新初始化,准备还原

mysqladmin -udba -p -S /tmp/mysql3310.sock shutdown #停止新实例的服务

rm -rf /data/mysql3310 /data/dblog/mysql3310 /etc/my3310.cnf #删除数据和配置

/usr/local/shell/mysql_multi_install.sh #这是只是一个初始化脚本

mysql -uroot -p`cat /data/mysql3310/passwd.txt` -S /tmp/mysql3310.sock

alter user root@'localhost' identified by 'PASSWORD';

grant all privileges on *.* to 'dba'@'%' identified by 'PASSWORD' with grant option;

grant all privileges on *.* to 'dba'@'localhost' identified by 'PASSWORD' with grant option;

mysqladmin -udba -p -S /tmp/mysql3310.sock shutdown #初始化完毕后再次停止服务准备还原数据

7、备份数据还原

rm -rf /data/mysql3310/*

innobackupex --defaults-file=/etc/my3310.cnf --apply-log /data/backup/2018-12-05_11-59-45/

innobackupex --defaults-file=/etc/my3310.cnf --copy-back /data/backup/2018-12-xx_xx-xx-xx/

chown -R mysql. /data/mysql3310

8、启动服务

mysqld_safe --defaults-file=/etc/my3310.cnf &

二、主从部署阶段(主节点:10.3.0.224;从节点:10.3.0.225)

1、登录SQLYOG删除原有repl账户信息,两台均操作

2、在224上授权并获取binlog的位置信息

mysql -udba -p -S /tmp/mysql3310.sock

mysql > GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO repl@'10.3.0.225' IDENTIFIED BY 'PASSWORD';

mysql > show master status \G

3、在225从库同步

mysql -udba -p -S /tmp/mysql3310.sock

CHANGE MASTER TO MASTER_HOST='10.3.0.224',MASTER_PORT=3310,MASTER_USER='repl',MASTER_PASSWORD='PASSWORD',MASTER_LOG_FILE='mysql-bin.xxxxx',MASTER_LOG_POS=xxx;

start slave;

三、域名切换

服务前移后使用了新域名,只需要做好解析即可,然后启动Nginx观察服务

linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程相关推荐

  1. 老男孩mysql高级专业dba实战课程_老男孩MySQL高级专业DBA实战课程/高级运维DBA课程/MySQL视频教程下载...

    课程名称 老男孩MySQL高级专业DBA实战课程/高级运维DBA课程/MySQL视频教程下载 课程目录 第一部 MySQL基础入门(21节) 第二部 MySQL多实例安装与企业应用场景(10节) 第三 ...

  2. 老男孩mysql运维dba实战21部完整版_老男孩MySQL高级专业DBA实战课程/高级运维DBA课程/MySQL视频教程 零基础全套...

    对于老男孩的视频教程我是由衷的喜欢,这套课程接近于零基础,但是最好还是具备一些Mysql基础再来学习效果会更好一些,论坛中也有一些Mysql基础课程,大家可以找一下! -------课程目录----- ...

  3. java mysql死锁_记一次线上mysql死锁分析(一)

    记录一次比较诡异的mysql死锁日志.系统运行几个月来,就在前几天发生了一次死锁,而且就只发生了一次死锁,整个排查过程耗时将近一天,最后感谢我们的DBA大神和老大一起分析找到原因. 诊断死锁 借助于我 ...

  4. 在线分析mysql死锁详解_记一次线上mysql死锁分析(一)

    记录一次比较诡异的mysql死锁日志.系统运行几个月来,就在前几天发生了一次死锁,而且就只发生了一次死锁,整个排查过程耗时将近一天,最后感谢我们的DBA大神和老大一起分析找到原因. 诊断死锁 借助于我 ...

  5. mysql时区错乱_记一次线上mysql时区错乱

    Mysql查询时间和页面显示时间相差八个小时. 在一次线上程序调用mysql内部函数转化时间戳的时候的bug记录.在本地开发与测试环境都没得问题.但是上线后,程序总是不再状态. 遂开启审阅代码的过程, ...

  6. 高级运维工程师证书_高级运维工程师的具体职责说明

    高级系统运维工程师需要负责服务器的安装部署.上线发布.日常监控.故障处理.数据备份.日志分析.性能优化等工作.以下是学习啦小编整理的高级运维工程师的具体职责说明. 高级运维工程师的具体职责说明1 职责 ...

  7. mysql爆内存_线上MySQL数据库机器内存爆掉原因分析与解决

    本文主要向大家介绍了线上MySQL数据库机器内存爆掉原因分析与解决,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 现象: 阿里金融某业务的MySQL机器的内存每隔几天就会增长,涨 ...

  8. python运维工程师前景及待遇_做运维工程师有前途吗?

    运维是一个进入门槛低,但是发展前景大的行业. 去年我们老板从运维总监职位退下来的时候年薪75万,所以不要小看这个行业. 但是前路漫漫,想在这个领域有长足的发展,要学习很多,付出很多. "今年 ...

  9. 线上MYSQL同步报错故障处理总结 实现同步不一致进行邮件报警

    线上MYSQL同步报错故障处理总结 公司使用腾讯云数据库,今天在从库上面查询相关数据时候,显示没有任何记录,登录后 show slave status\G 查看到状态中报1032错误,这里把相关主从同 ...

最新文章

  1. 实现小数据量和海量数据的通用分页显示存储过程
  2. win7删除桌面文件后手动刷新才会消失的解决方法
  3. 压测场景下的 TIME_WAIT 处理
  4. java的集合应用_Java之集合类应用总结
  5. 光纤收发器的实际应用范围介绍
  6. Linux 禁用msi模式,通过禁用MSI模式解决Win10磁盘占用100%的方法
  7. SuperMap/PlottingSymbol
  8. ios10前台收到推送_IOS - 前台时的推送弹窗效果
  9. 369Cloud控制台、IDE、组件、引擎升级全面解析
  10. attention机制的几种方法
  11. .deb文件怎么安装_新手iso系统怎么安装|新手安装iso镜像文件详细步骤
  12. 使用Springboot整合Vue项目案例—登录界面
  13. c++ double 截取_C/C++ double取余函数
  14. 虚拟机VMware访问Window共享文件
  15. 回想那些年我抛弃的技术
  16. 编码应该运筹帷幄之中,决胜千里之外
  17. 华为防火墙笔记-出口选路
  18. 大恒相机sdk二次开发 _c#从0开始新建winform窗体实现相机基础采集功能
  19. Odoo (hide a menu)隐藏菜单
  20. 亿级(无限级)并发,没那么难-科普文

热门文章

  1. 面试: 14 个实用的数据库设计技巧,一次性教给你!
  2. 互联网公司忽悠员工的黑话,套路太深了。。。
  3. java hibernate的使用_《Hibernate快速开始 – 4 – 使用JAVA持久层 API (JPA)教程》
  4. C++ 反射机制的简单实现
  5. VMware虚拟机中CentOS网络设置
  6. Oracle bigfile 大文件表空间会影响rman等备份效率
  7. Java代码总结【1】_查询手机号码归属地
  8. Linux下将数据文件的指定域读取到shell脚本中
  9. C#后台,执行前台js 脚本
  10. DOM Xerces类库使用方法