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

数据库中表的 row_format 的取值为 FIXED 时,表格中每行的存储长度超过限制值时会溢出,发生报错。因此需要修改为其他模式,如 DYNAMIC,使每行的存储长度会随内容的长度而变化。

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

一、检查详情

·源库表的 row_format 不能为 FIXED。

·源库变量 connect_timeout 必须大于10。

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

·MySQL 备份场景中,如果源库存在耗时较长的 SQL 在运行,会报警告,提示“源实例有耗时较长的 SQL 在运行,可能导致锁表失败进而校验任务失败,请稍后重试校验或对源实例中的 SQL 进行处理”。

二、修改源库 row_format 参数

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

1. 登录源数据库。

2. 修改 row_format 参数为 DYNAMIC。

alter table table_name row_format = DYNAMIC;

3. 查看配置是否生效。

show table status like 'table_name'\\G;

系统显示结果类似如下:

mysql> show table status like 'table_name'\\G;*************************** 1. row *************************** Name: table_name Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 5 ……1 row in set (0.00 sec)

4. 重新执行校验任务。

三、修改源库变量 connect_timeout

connect_timeout 为数据库的连接时间,超过 connect_timeout 设置值的连接请求将会被拒绝。如果设置过小,会导致数据库连接频繁断开,影响处理效率,因此建议该参数取值大于10。

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

1. 登录源数据库。

2. 修改 connect_timeout 参数。

set global connect_timeout = 10;

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

show global variables like '%connect_timeout%';

系统显示结果类似如下:

mysql> show global variables like '%connect_timeout%';+————————+——-+| Variable_name | Value |+————————+——-+| connect_timeout | 10 |+————————+——-+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天前