实例授权失败,如何快速定位?
在实例授权时,可能会出现实例授权失败的情况。此时,如何快速定位问题?
-
确认授权的实例处于正在运行的状态。
-
检查用户名密码是否正确,使用命令行命令尝试连接,确认授权数据库账户可连接正常。
执行物理备份恢复时提示服务启动失败或服务启动超时,如何快速定位?
物理备份恢复在恢复数据前会停止目标端数据库实例,完成数据恢复后启动数据库实例。界面提示数据库实例启动失败或超时,可以按照以下步骤进行处理:
-
登录恢复节点机器。
-
若数据库服务已经正常运行,按照如下操作进行排查:
-
通过授权时填写的信息尝试连接数据库,可以正常登录数据库,且数据库功能正常,则为启动超时,可以通过修改客户端配置文件mysqlEnv.config 中MySQLConnectServerTimes参数,增加检测数据库启动的时长,保证下次恢复能正常启动。
-
通过授权时填写的信息不能够连接数据库,检查恢复目录是否填写错误,导致文件丢失,检查数据库的套接字文件是否存在,检查目标实例授权的用户名和密码是否跟备份时相同。
-
-
若数据库服务未启动,按照如下操作进行排查:
-
检查恢复界面指定的数据库配置文件,是否缺少了server_id参数,如果未配置该参数,可以手动添加。参数的取值范围为0-4294967295,参数要求不与需要组成集群的其他机器相同。
-
通过数据库的错误日志处理存在的错误,如果无法排除问题可通过微信公众号【爱数技术支持中心】、官网或者直接拨打售后服务热线4008801569联系我们。
-
-
在处理完上述问题后,再次进行恢复。
忘记备份数据库登录密码如何进行恢复?
在不完全恢复或者归档日志恢复场景,需要使用目标实例授权的用户名和密码来对恢复后的数据库实例应用Binlog。当前版本恢复界面不支持配置恢复目标机用户名和密码,如果目标实例授权的用户名和密码与备份时不相同,会导致上述步骤执行失败。
如果无法获取备份时的用户名密码,可以通过在恢复界面指定的数据库配置文件的mysqld 节下添加skip-grant-tables,恢复时即可进行无密码恢复。恢复完成后可以根据实际情况修改密码,删除添加的skip-grant-tables ,重新启动数据库服务。
排查问题如何查找日志路径?
MySQL在备份恢复过程中会产生一些日志,各个日志名称、日志位置及日志作用详见如下表格:
日志名称 | 日志位置 | 日志作用 |
---|---|---|
eefproc.log | /var/log/Anybackup/ABClientService/AggregateApp/eef_mysql | 日志常开,打印备份恢复过程日志;其中eef_mysql为eef启动在mysql用户下,如果eef启动在root用户下,目录名称变更为eef_root。 |
Mysqlproc.Log | /xxx/AnybackupClient/ClientService/MySQL/temp_mysql | 开关控制,打印MySQL连接数据库执行命令的日志,其中/xxx为客户端安装目录 |
Mysqlphyproc.log | /xxx/AnybackupClient/ClientService/MySQL/temp_mysql | 开关控制,mysqlEnv.config里配置,打印xtrabackup备份恢复产生的日志 |
Clientsvc.log | /var/log/Anybackup/ABClientService/AggregateApp/clientsvc.log | 日志常开,备份前置检查产生的日志;数据源展开相关日志 |
Binlog | 恢复后的binlog日志文件在/xxx/AnybackupClient/ClientService/MySQL/temp_mysql/mysql3306/MySQL_Binlog_Dir | 当需要做日志恢复,不完全恢复时会用到binglog日志。日志应用完成后会及时清理掉。 |