xtrabackup恢复MySQL8.0数据几个注意事项

公司开始使用MySQL8.0了,之前一直是MySQL5.6和MySQL5.7.

之前使用xtrabackup对MySQL5.6和MySQL5.7执行数据恢复操作都没问题。

现在数据库版本是MySQL8.0,按原来的套路执行就不行了。

基本情况如下:
数据库备份是某云服务商的云数据库,版本MySQL8.0.

备份在控制台操作实现每日完整备份。

根据云服务商提供的文档,可以使用xtrabackup进行恢复数据操作。

本地创建了一个环境,系统是Ubuntu20.04,数据库是MySQL8.0

反复进行测试恢复数据后,有以下2点要注意:

1.xtrabackup的版本问题

MySQL5.7对应是xtrabackup2.4.x。

而MySQL8.0对应的版本号也是xtrabackup 8.0.x

下载地址:Download Percona XtraBackup 8.0

2.数据文件的存取路径

在MySQL5.6和MySQL5.7版本上,恢复数据时通常我会创建一个新的目录来恢复数据。然后修改配置文件,启动服务。

这个操作在MySQL8.0会导致服务启动失败。

错误日志内会有如下类似提示:

[Server] Can't create test file /data/mysql/data/mysqld_tmp_file_case_insensitive_test...

解决问题的方法有两个:

第一个方法,把恢复的数据文件放在MySQL8.0的默认数据文件目录下。当然其权限要改为mysql为属主。

第二个方法则是使用如下命令:

mysqld --initablize-insecure 对新的数据文件目录进行一次初始化

补充一个初始化命令例子如下:

/usr/sbin/mysqld --defaults-files=/etc/mysql/my.cnf --initialize --user=mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值