便宜旅游机票网站建设,搜索引擎优化工作,百度站长工具使用方法,做瞹视频网站哪里看摘要#xff1a;
Docker容器部署的mysql5.7版本遇到使用AutoMYSQLBackup备份失败了#xff0c;反复修改automysqlbackup.conf也不起效。这里推荐一种新的办法绕开老路子直接备份。
目录
一、环境介绍
二、AutoMYSQLBackup
三、问题描述
四、解决思路
4.1第一种解决思…摘要
Docker容器部署的mysql5.7版本遇到使用AutoMYSQLBackup备份失败了反复修改automysqlbackup.conf也不起效。这里推荐一种新的办法绕开老路子直接备份。
目录
一、环境介绍
二、AutoMYSQLBackup
三、问题描述
四、解决思路
4.1第一种解决思路
4.1.1确认 MySQL 版本
4.1.2检查 information_schema 表
4.1.3禁用 COLUMN_STATISTICS
a.配置文件
b. 验证权限
c. 测试备份
d. 验证配置
e. 检查错误日志
f. 手动测试
g. 更新 MySQL
4.2第二种解决思路
4.2.1创建文件
4.2.2授权
4.2.3 执行一下
五、做成定时任务 一、环境介绍
Docker 版本 23.0.2Mysql 版本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: Couldnt 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-tablesfalse# 修改为 OPT--single-transaction --quick --lock-tablesfalse --skip-column-statistics
b. 验证权限
确保 root 用户具有足够的权限。运行以下命令以授予必要的权限
GRANT SELECT, LOCK TABLES ON *.* TO root192.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******* --port330612 seata $seata
# 压缩备份文件可选
gzip $seata
docker exec -i mysql /bin/bash -c mysqldump -u****** -p****** --port330612 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博客