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

摘要:

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.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博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3266961.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

用cmake创建一个c++工程,调用c语言函数打印“c hello!”。

要使用CMake创建一个C工程,并在其中调用C语言函数以打印“C hello!”,你可以按照以下步骤操作: 1. 项目目录结构 首先,确保你的项目目录结构如下: CPlusPlusWithCLibrary ├── CMakeLists.txt └── src├── m…

C++的map和set介绍

系列文章目录 二叉树搜索树 map和set习题 文章目录 系列文章目录前言一、关联式容器键值对二、树形结构的关联式容器2.1 set2.1.1 set的介绍2.1.3 set的使用删除节点find的不同效率count举例lower_bound 和 upper_bound 2.2 multiset2.2.1 区别:find查找erase删除e…

【深度学习】大模型GLM-4-9B Chat ,微调与部署(3) TensorRT-LLM、TensorRT量化加速、Triton部署

文章目录 获取TensorRT-LLM代码:构建docker镜像并安装TensorRT-LLM:运行docker镜像:安装依赖魔改下部分package代码:量化:构建图:全局参数插件配置常用配置参数 测试推理是否可以代码推理CLI推理 性能测试小…

FFmpeg音视频流媒体的顶级项目

搞音视频、流媒体的圈子,没法躲开ffmpeg这个神级项目。 FFmpeg 是一个功能强大且广泛使用的多媒体处理工具。FFmpeg 具备众多出色的特性。它支持多种音频和视频格式的转换,能轻松将一种格式的文件转换为另一种,满足不同设备和应用的需求。不仅如此,它还可以进行视频的裁剪、…

你敢信!IP也能实现https

IP作为属于底层基础网络,在访问网站时IP是不可避免要使用到的。对于个别单位而言IP并不需要绑定域名,在进行互联网信息交互的过程中不可避免的会需要实现加密访问,在加密时使用符合IP的专用SSL证书就显得格外重要,毕竟在实现网络信…

SpringBoot入门:如何新建SpringBoot项目(保姆级教程)

在本文中,我们将演示如何新建一个基本的 Spring Boot 项目。写这篇文章的时候我还是很惊讶的,因为我发现有些java的初学者,甚至工作10年的老员工居然并不会新建一个SpringBoot项目,所以特别出了一篇文章来教大家新建一个SpringBoo…

六、1 TIM输出比较、PWM

1、英文缩写 OC(Output Compare)输出比较 IC(Input Capture)输入捕获 CC(Capture/Compare)输入捕获和输出比较单元 CNT计数器 CCR(Capture/Compare Register)捕获/比较寄存器 …

家政项目小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,家政人员管理,家政服务管理,咨询信息管理,咨询服务管理,家政预约管理,留言板管理,系统管理 微信端账号功能…

如何查看Windows电脑密钥?Windows密钥一键获取

在数字时代,软件的安全性和授权问题日益受到重视。Windows操作系统,作为全球使用最广泛的电脑操作系统之一,其激活和授权机制对于确保软件的正版使用至关重要。Windows密钥,作为激活和验证操作系统正版性的关键,有时需…

Linux源码阅读笔记14-IO体系结构与访问设备

IO体系结构 与外设通信通常称为输入输出,一般缩写为I/O。在实现外设IO的时候,内核必须处理三个可能出现的问题: 必须根据具体的设备类型和模型,使用各种方法对硬件寻址。内核必须向用户应用程序和系统工具提供访问各种设备的方法…

便携式气象仪:科技赋能,让气象观测更智能

随着科技的快速发展,越来越多的领域受益于技术的进步。其中,气象观测领域也不例外。传统的气象观测设备虽然精确可靠,但往往体积庞大、携带不便,且需要专业人员进行操作和维护。而便携式气象仪的出现,则打破了这一局限…

如何解决ChromeDriver 126找不到chromedriver.exe问题

引言 在使用Selenium和ChromeDriver进行网页自动化时,ChromeDriver与Chrome浏览器版本不匹配的问题时有发生。最近,许多开发者在使用ChromeDriver 126时遇到了无法找到chromedriver.exe文件的错误。本文将介绍该问题的原因,并提供详细的解决…

Python爬虫技术 第13节 HTML和CSS选择器

在爬虫技术中,解析和提取网页数据是核心部分。HTML 和 CSS 选择器被广泛用于定位网页中的特定元素。下面将详细介绍这些选择器如何在 Python 中使用,特别是在使用像 Beautiful Soup 或 Scrapy 这样的库时。 HTML 选择器 HTML 选择器基于 HTML 元素的属性…

【微信小程序实战教程】之微信小程序 WXSS样式处理详解

WXSS样式处理 有过Web开发经验的开发者应该都了解CSS(全称 Cascading Style Sheets)是一种用于描述HTML或XML文档呈现的样式表语言。而WXSS(全称 WeiXin Style Sheets)是一套样式语言,用于描述WXML的组件样式&#xf…

CAS原理以及AtomicStampedRefernce

目录 CAS概念没有使用CAS之前使用CAS之后CAS介绍代码案例为什么CAS能保证原子性?1、Unsafe2、offset 偏移量3、变量value用volatile修饰4、自旋保持原子性5、底层汇编语言的具体执行 原子引用CAS与自旋锁实现一个自旋锁 CAS缺点及解决AtomicStampedRefernce CAS概念…

记录使用el-form的resetFields时遇到的表单数据回显失败的问题,去除nextTick解决

首先简单介绍一下resetFields的基础作用 element-plus官网el-form介绍 本案例中实现点击每行的编辑按钮时,弹出弹窗和表单 由于设置了表单校验,如图,表单内容不符合设定的校验规则时会有提示 如果仅仅这样就会出现问题,下次打…

海山数据库(He3DB)技术解析:海山Redis定时任务与持久化管控设计

文章目录 引言一、背景介绍二、具体实现1、多副本容灾功能2、主备切换后任务断点续做功能3、持久化管控编排功能 三、总结作者 引言 云Redis数据库服务是目前广泛应用的模式,其数据持久化方案是现在研究的热点内容,数据持久化操作主要由参数设置自动触发…

华为交换机Telnet配置

华为交换机Telnet配置 一、Telnet概述与作用 1、Telnet简介 Telnet(Telnet协议)是一种用于远程登录到计算机或网络设备的协议。它允许用户在本地计算机上通过网络连接到远程计算机或设备,并在远程计算机上执行命令和操作。Telnet协议最初是…

mysql特殊字符、生僻字存储设置

mysql utf-8模式下,分为ut8mb3,utf8mb4,mb4是支持特殊字符、emoji表情的,mb3是不支持的。 报错信息: 1### Error updating database. Cause: java.sql.SQLException: Incorrect string value: \xF0\xA8\x92\x82\xE6\x95... fo…

什么是公司自建企业邮箱?自建企业邮箱有什么用?

什么是公司自建企业邮箱?公司自建企业邮箱有什么用途?一是品牌统一;二是安全性增强;三是定制化功能;四是控制与灵活性等等。哪些企业适合自建企业邮箱呢?本篇文章将为您一一解释。 一、什么是公司自建企业…