数据库备份服务 目标实例部分参数检查

这篇说说腾讯云数据库恢复前需检查的三项条件:备份集有效、大小写配置一致、目标库参数达标,并针对每项问题提供修复方法。 备份集文件:必须有效,否则需重新选择可用备份集。 lower_case_table_names:需与源库一致,修改my.cnf并重启数据库。 max_allowed_packet和read_only:分别需大于4M和设为OFF,通过SQL命令调整。

相关产品
数据库备份服务 产品页,含版本规格、价格与购买入口。

一、检查详情

·备份集文件必须有效。

·备份集与目标库的大小写配置需要保持一致(lower_case_table_names)。

·目标库参数 max_allowed_packet 设置需要大于4M。

·目标库不能为只读权限,需要将 read_only 设置为 OFF。

二、检查备份集文件

备份集文件失效,需要重新选择其他可用的备份集文件,然后再次发起恢复任务。

三、修改目标库 lower_case_table_names 变量

lower_case_table_names 是 MySQL 设置大小写是否敏感的一个参数,不同的取值情况如下:
Windows 或 macOS 环境对大小写是不敏感的,但是 Linux 环境却是敏感的,为了保证不同系统的兼容性,需要将大小写敏感规则设置统一。

·0:表名存储为给定的大小写,比较的时候区分大小写。

·1:表名存储在磁盘是小写的,比较的时候不区分大小写。

·2:表名存储为给定的大小写,比较的时候是小写的。

如发生此类报错,请参考如下指导修改目标库的参数。

1. 登录数据库。

2. 查看备份集和目标库中的 lower_case_table_names 取值,备份集中的参数通过登录源数据库进行查看。

show variables like '%lower_case_table_names%';

3. 参考如下内容修改目标数据库的配置文件 my.cnf。

注意:my.cnf 配置文件的默认路径为 /etc/my.cnf,现场以实际情况为准。

lower_case_table_names = 1

4. 参考如下命令重启数据库。

[$Mysql_Dir]/bin/mysqladmin -u root -p shutdown[$Mysql_Dir]/bin/safe_mysqld &

5. 查看配置是否生效。

show variables like '%lower_case_table_names%';

系统显示结果类似如下:

mysql> show variables like '%lower_case_table_names%';+————————+——-+| Variable_name | Value |+————————+——-+| lower_case_table_names | 1 |+————————+——-+1 row in set (0.00 sec)

6. 重新执行校验任务。

四、修改目标库 max_allowed_packet 参数

max_allowed_packet 为最大允许的传输包。设置太大,会使用更多内存导致丢包,无法捕捉异常大事物包 SQL;设置太小,可能会导致程序报错,备份失败,也会导致频繁的收发网络包,影响系统性能。

如发生此类报错,请参考如下指导进行修复。

1. 登录目标数据库。

2. 修改 max_allowed_packet 参数。

set global max_allowed_packet = 4*1024*1024;

3. 查看配置是否生效。

show global variables like '%max_allowed_packet%';

系统显示结果类似如下:

mysql> show global variables like '%max_allowed_packet%';+————————+———+| Variable_name | Value |+————————+———+| max_allowed_packet | 4194304 |+————————+———+1 row in set (0.00 sec)

4. 重新执行校验任务。

五、修改目标库 read_only 参数

read_only 为目标库访问权限控制参数,DBS 进行数据库恢复时,需要具备目标数据库的读写权限,所以 read_only 需要设置为 OFF。

1. 登录目标数据库。

2. 修改 read_only 参数。

set global read_only = OFF;

3. 查看参数是否修改成功。

show global variables like '%read_only%';

系统显示结果类似如下:

mysql> show global variables like '%read_only%';+————————+——-+| Variable_name | Value |+————————+——-+| read_only | OFF |+————————+——-+1 row in set (0.00 sec)

4. 重新执行校验任务。

赞 (0)
上一篇 4天前
下一篇 4天前