第89讲:MySQL数据库迁移方面需要考虑的因素以及XBK企业级备份参数

MySQL数据库迁移方面需要考虑的因素

1.MySQL数据库迁移方面要考虑的因素

数据库迁移在企业中也算是比较常见的工作,主要体现在以下几点:

  • 需要从线上环境同步数据到预发布环境。
  • 业务上云,在阿里云环境部署了新的MySQL实例,需要将数据迁移到阿里云的MySQL数据库。
  • 新老服务器切换,淘汰一批MySQL服务器,新购买了性能很强的MySQL服务器,需要迁移数据。
  • MySQL版本升级需要迁移数据。
  • 平台架构中引入了新的技术,例如ES,将MySQL的数据迁移到ES中。

综上所述都是企业中常见的数据迁移工作。

在迁移中需要考虑选择什么工具进行迁移:

  • 数据库与数据库之间的迁移,通常都是使用XBK、mysqldump进行数据迁移,迁移当天先还原全量数据,然后晚上停服,通过Binlog恢复当天产生的新数据,完成迁移
  • idc数据库服务器迁移到阿里云环境,这时使用mysqldump或者是XBK性能都很低,因为要通过互联网传输,可以采用阿里云的DTS迁移工具,快速的进行数据迁移。
  • 数据量很大的情况下,可以使用XBK进行备份还原,直接scp数据文件到目标数据。
  • 数据迁移也可以使用主从复制的方案。

在迁移过程中还有很多非技术性问题需要考虑:

  • 由于要做数据迁移,迁移过程中是不允许数据写入的,肯定是要发布停服通告,首先要确定此次迁移要花费的时间,然后综合性的评估,最后张贴停服公告。
  • 如果迁移有问题,那么回退方案是什么?都要提前考虑好。

任何运维的工作,都分为技术性和非技术性,做好任何一项技术时,都要考虑一切困难发生的因素,减少失败的可能性,技术对于运维都不是难题,非技术性问题一定要好好琢磨。

2.MySQL5.6升级到5.7版本的方法

建议使用mysqldump备份低版本的数据,排除掉所有的系统库,然后将备份在高版本的数据库中还原,最后升级数据字典即可。

只能使用逻辑备份,因为多版本之间的系统结构不同。

3.MySQL迁移到其他数据库的方法

Oracle—>OGG—>MySQL

MySQL—>CSV—>MongoDB

MySQL—>JSON—>MongoDB

4.为什么要从XBK备份中还原某张表的数据

当人员误删除操作时,误删除库的可能性比较小,但是误删除某张表的概率是非常大的,如果误删了某张表,我们也用全备数据去还原,那么是得不偿失的,此时就建议我们从XBK备份中找到某张表,然后只针对这张表进行数据还原。

我们都知道XBK备份的就是数据文件,那么只需要将该表对应的数据文件从备份中找到,然后cp到数据目录即可完成还原。

5.从XBK备份中还原某张表的数据

1)模拟xscjb误删除

[root@mysql ~]# rm -rf /data/mysql/db_1/monday.*

或者

mysql> alter table monday discard tablespace;

2)从备份中找到xscjb的备份文件

[root@mysql ~]# ll /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/monday.*
-rw-r----- 1 root root  8720 74 11:44 /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/xscjb.frm
-rw-r----- 1 root root 98304 74 11:34 /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/xscjb.ibd

3)将xscjb的备份文件还原到数据目录中

[root@mysql ~]# \cp /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/monday.* /data/mysql/db_1/
[root@mysql ~]# chown -R mysql.mysql /data/mysql/db_1/

4)重新加载表空间文件

mysql> alter table monday import tablespace;

6.XtrBackup企业级备份参数

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --no-timestamp --xbstream=tar --user-memory=256M --parallel=2 /data/test/ 

--stream=tar:开启流备份,备份成tar包。

--user-memory=256M:为xbk分配256M的内存进行备份。

--parallel=8:并发处理数,一般都是CPU核数的一半。

猜你喜欢

转载自blog.csdn.net/weixin_44953658/article/details/135622920