AutoMySQLBackup execution.. Backup failed Docker部署mysql 自动备份失败!!

摘要:

Docker容器部署的mysql5.7版本遇到使用AutoMYSQLBackup备份失败了,反复修改automysqlbackup.conf也不起效。这里推荐一种新的办法绕开老路子直接备份。

目录

一、环境介绍

二、AutoMYSQLBackup

三、问题描述

四、解决思路

4.1第一种解决思路

[4.1.1确认 MySQL 版本](#4.1.1确认 MySQL 版本)

[4.1.2检查 information_schema 表](#4.1.2检查 information_schema 表)

[4.1.3禁用 COLUMN_STATISTICS](#4.1.3禁用 COLUMN_STATISTICS)

a.配置文件

[b. 验证权限](#b. 验证权限)

[c. 测试备份](#c. 测试备份)

[d. 验证配置](#d. 验证配置)

[e. 检查错误日志](#e. 检查错误日志)

[f. 手动测试](#f. 手动测试)

[g. 更新 MySQL](#g. 更新 MySQL)

4.2第二种解决思路

4.2.1创建文件

4.2.2授权

[4.2.3 执行一下](#4.2.3 执行一下)

五、做成定时任务


一、环境介绍

Docker 版本: 23.0.2,Mysql 版本:mysql:5.7 使用方法的一个前提是docker部署的mysql是恩能够正常使用的。如果不能正常使用请绕路哈。

二、AutoMYSQLBackup

离线部署:automysqlbackup-v3.0_rc6.tar.gz

https://cloud.189.cn/t/ANNr2yMzYVvy (访问码:jaz8)

三、问题描述

during AutoMySQLBackup execution.. Backup failed

Error log below..

mysql: [Warning] Using a password on the command line interface can be insecure.

mysqldump: [Warning] Using a password on the command line interface can be insecure.

mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'mysql' AND TABLE_NAME = 'columns_priv';': Unknown table 'COLUMN_STATISTICS' in information_schema (1109)

网上大部分的回答都是版本5.7导致没办法查到COLUMN_STATISTICS 表;COLUMN_STATISTICS是 MySQL 8.0 引入的,通常用于存储有关列统计信息的元数据。

四、解决思路

4.1第一种解决思路

4.1.1确认 MySQL 版本

确认你的 MySQL 版本是否支持 COLUMN_STATISTICS 表:

复制代码
SELECT VERSION();

COLUMN_STATISTICS 表是 MySQL 8.0 版本的特性。如果你使用的是 5.x 版本,可能不会有这个表。

4.1.2 检查 information_schema

确认 information_schema 中的表是否存在:

复制代码
USE information_schema;
SHOW TABLES;

4.1.3禁用 COLUMN_STATISTICS

mysqldump 在 MySQL 8.0 中引入了 COLUMN_STATISTICS 选项,但 MySQL 5.7 并不支持它。因此,你需要在备份过程中禁用此选项。

a.配置文件

打开 automysqlbackup 的配置文件 /etc/automysqlbackup/automysqlbackup.conf,在配置文件中找到 mysqldump 相关的设置,并添加 --skip-column-statistics 参数。

例如,如果你的配置文件中有一行定义 mysqldump 选项,你可以这样修改:

复制代码
# 如果有类似这一行: # OPT="--single-transaction --quick --lock-tables=false"

# 修改为: OPT="--single-transaction --quick --lock-tables=false --skip-column-statistics"
b. 验证权限

确保 root 用户具有足够的权限。运行以下命令以授予必要的权限:

复制代码
GRANT SELECT, LOCK TABLES ON *.* TO 'root'@'192.168.100.148'; FLUSH PRIVILEGES;
c. 测试备份

在命令行中手动运行 mysqldump 以确保没有错误:

复制代码
mysqldump --skip-column-statistics -u root -p --all-databases > backup.sql

如果你仍然遇到 mysqldump 错误,建议做以下几步:

d. 验证配置

确保你的 AutoMySQLBackup 配置文件中的 MySQL 用户和密码正确,并且用户具有足够的权限。

e. 检查错误日志

查看 MySQL 错误日志,以获得更多的错误信息。MySQL 错误日志的位置通常在 /var/log/mysql//var/log/mysqld.log

f. 手动测试

尝试手动运行 mysqldump 命令以检查是否可以成功备份单个数据库:

复制代码
mysqldump -u root -p your_database_name > test_backup.sql
g. 更新 MySQL

如果你使用的 MySQL 版本较旧,可能需要考虑升级到最新版本,以解决兼容性问题。

以上方法如果可以解决问题下面的方法就不要看了,我自己都有点嫌弃O(∩_∩)O哈哈~

4.2第二种解决思路

4.2.1创建文件

复制代码
mkdir -p /etc/automysqlbackup/mysql-client-offline
cd /etc/automysqlbackup/mysql-client-offline
vim backup.sh

#!/bin/bash
 
# 创建备份目录
BACKUP_DIR="/var/backup/db/daily"
 
# 创建备份文件名
TIMESTAMP=$(date +"%Y%m%d")
seata="$BACKUP_DIR/seata-$TIMESTAMP.sql"
nacos="$BACKUP_DIR/nacos-$TIMESTAMP.sql"
 
# 执行备份
# 压缩备份文件(可选)
gzip $wk_hrm_single
docker exec -i mysql /bin/bash -c 'mysqldump -u****** -p*******  --port=330612  seata' >  $seata
# 压缩备份文件(可选)
gzip $seata
docker exec -i mysql /bin/bash -c 'mysqldump -u****** -p******  --port=330612  nacos' >  $nacos 
# 压缩备份文件(可选)
gzip $nacos

4.2.2授权

复制代码
 chmod +x backup.sh

4.2.3 执行一下

复制代码
/etc/automysqlbackup/mysql-client-offline/backup.sh

五、做成定时任务

复制代码
#编辑定时任务
crontab -e
#每天凌晨1点执行备份
0 1 * * * /etc/automysqlbackup/mysql-client-offline/backup.sh

总结

现阶段大家对于容器部署的热度越来越高,带来便利的同时个别技术也要同步去了解 链接:数据库备份 - automysqlback- Error: Dependency programs are missing. mysql ......没有找到?-CSDN博客

相关推荐
航Hang*3 分钟前
Photoshop 图形与图像处理技术——第7章:滤镜的应用
图像处理·笔记·ui·photoshop
嵌入式@秋刀鱼8 分钟前
ROS开发学习记录【一】
linux·c++·笔记·学习
冻伤小鱼干10 分钟前
《自动驾驶与机器人中的slam技术:从理论到实践》笔记——ch7(3)
笔记·机器人·自动驾驶
d111111111d43 分钟前
STM32 I2C通信详解:从机地址 vs 寄存器地址
笔记·stm32·单片机·嵌入式硬件·学习·模块测试
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [fs]namei
linux·笔记·学习
航Hang*1 小时前
第六章:网络系统建设与运维(中级)——链路聚合
运维·服务器·网络·笔记·华为·ensp
lpfasd1232 小时前
辞别2025:在不确定中锚定确定,在喧嚣里守护清醒
笔记
航Hang*13 小时前
Photoshop 图形与图像处理技术——第8章:图像的色彩与色彩调整和图像的输出与优化
图像处理·笔记·ui·photoshop
小桥流水---人工智能13 小时前
风电机组故障诊断与状态监测方法的研究局限性整理(背景笔记)
笔记
菩提小狗14 小时前
小迪安全笔记_第4天|扩展&整理|30+种加密编码进制全解析:特点、用处与实战识别指南|小迪安全笔记|网络安全|
笔记·安全·web安全