我的编程空间,编程开发者的网络收藏夹
学习永远不晚

AutoMySQLBackup 3.0在MySQL 5.7中的问题修复

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

AutoMySQLBackup 3.0在MySQL 5.7中的问题修复

AutoMySQLBackup 3.0在MySQL 5.7中的问题修复

 

最近一个电子看板小项目上线,由于数据库非常小,而且数据也不太重要。因此未选择XtraBackup备份,打算用AutoMySQLBackup来备份,结果部署后测试发现,有一些小问题是之前解决过的。有一些是MySQL 5.7版本才有的。下面记录一下解决过程。关于AutoMySQLBackup的基础知识,参考我这篇博客“MySQL备份还原——AutoMySQLBackup介绍。这里不做详细介绍。这里的MySQL版本: 5.7.30

 

 

测试过程,备份日志出现下面告警信息:

 

###### WARNING ######
Errors reported during AutoMySQLBackup execution.. Backup failed
Error log below..
mysql: [Warning] Using a password on the command line interface can be insecure.
WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.
mysqlshow: [Warning] Using a password on the command line interface can be insecure.
WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.

 

 

 

1:解决WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.报错:

 

因为从MySQL 5.7.11开始,开始使用--ssl-mode参数,而抛弃/丢弃了参数--ssl,所以之前的MySQL版本不会遇到这个告警信息。关于这方面的知识,具体参考下面官方文档资料:

 

MySQL client programs now support an --ssl-mode option that enables you to specify the security state of the connection to the server. Permitted option values are PREFERRED (establish an encrypted connection if the server supports the capability, falling back to an unencrypted connection otherwise), DISABLED (establish an unencrypted connection), REQUIRED (establish an encrypted connection, or fail), VERFIFY_CA (like REQUIRED, but additionally verify the server certificate), VERIFY_IDENTITY (like VERIFY_CA, but additionally verify that the server certificate matches the host name to which the connection is attempted). For backward compatibility, the default is PREFERRED if --ssl-mode is not specified.

 

These clients support --ssl-mode: mysql, mysqladmin, mysqlbinlog, mysqlcheck, mysqldump, mysqlimport, mysqlshow, mysqlpump, mysqlslap, mysqltest, mysql_upgrade.

The --ssl-mode option comprises the capabilities of the client-side --ssl and --ssl-verify-server-cert options. Consequently, both of those options are now deprecated and will be removed in a future MySQL version. Use --ssl-mode=REQUIRED instead of --ssl=1 or --enable-ssl. Use --ssl-mode=DISABLED instead of --ssl=0, --skip-ssl, or --disable-ssl. Use --ssl-mode=VERIFY_IDENTITY instead of --ssl-verify-server-cert options. (The server-side --ssl option is not deprecated.)

 

For the C API, the new MYSQL_OPT_SSL_MODE option for mysql_options() corresponds to the --ssl-mode option. The MYSQL_OPT_SSL_ENFORCE and MYSQL_OPT_SSL_VERIFY_SERVER_CERT options for mysql_options() correspond to the client-side --ssl and --ssl-verify-server-cert options. They are now deprecated and will be removed in a future MySQL version. Use MYSQL_OPT_SSL_MODE with an option value of SSL_MODE_REQUIRED or SSL_MODE_VERIFY_IDENTITY instead.

 

For more information, see Command Options for Encrypted Connections, and mysql_options().

 

In consequence of this change, the minor C API version number was incremented

 

 

所以这里有两个解决方案,都非常简单:

 

 

1:在配置文件里面设置CONFIG_mysql_dump_usessl="no"后即可解决。简单快捷,不用修改代码

 

# Use ssl encryption with mysqldump

CONFIG_mysql_dump_usessl="no"

 

2:修改脚本automysqlbackup,具体操作,将脚本中的--ssl选项替换为--ssl-mode。治标治本。当然最正确的方法是根据MySQL版本选择参数。

 

clip_image001

 

2:解决上面问题后,报错的提示变为下面这个样子,之前这篇博客MySQL备份还原——AutoMySQLBackup介绍中介绍的方法不灵了。因为MySQL版本变化了。输出信息变化了。之前的方法自然失灵了。世界总是变化的,很难有一成不变的事物!

 

###### WARNING ######
Errors reported 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.
mysqlshow: [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: [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: [Warning] Using a password on the command line interface can be insecure.

 

修改脚本automysqlbackup(这个脚本视Linux版本不同,位置有所不同,一般位于/usr/local/bin/automysqlbackup或/usr/bin/automysqlbackup下面),在removeIO后面加上这段代码解决这个问题:

 

# Remove annoying warning message since MySQL 5.7
if [[ -s "$log_errfile" ]]; then
      sedtmpfile="/tmp/$(basename $0).$$.tmp"
      grep -v "mysqldump: [Warning] Using a password on the command line interface can be insecure." "$log_errfile" | 
      grep -v "mysql: [Warning] Using a password on the command line interface can be insecure."  | 
      grep -v "mysqlshow: [Warning] Using a password on the command line interface can be insecure."  > $sedtmpfile
      mv $sedtmpfile $log_errfile
fi

 

clip_image002

 

 

如果你能驾驭工具,自然得心应手。随着平台环境、版本的变化,出现的各种问题都能被你解决。如果你只是被动的使用工具,那么遇到一点小问题,就会束手无策。工作这么多年,感觉DBA的硬技能中的一非常重要的能力:解决问题的能力。这个能力需要不断通过实战锻炼、培养、升级!

 

 

参考资料:

 

https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-11.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

AutoMySQLBackup 3.0在MySQL 5.7中的问题修复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

AutoMySQLBackup 3.0在MySQL 5.7中的问题修复

最近一个电子看板小项目上线,由于数据库非常小,而且数据也不太重要。因此未选择XtraBackup备份,打算用AutoMySQLBackup来备份,结果部署后测试发现,有一些小问题是之前解决过的。有一些是MySQL 5.7版本才有的。下面记录一下解决过程。关于A
AutoMySQLBackup 3.0在MySQL 5.7中的问题修复
2014-10-24

OOBELANGUAGE错误Windows 11 / 10修复中出现问题的问题

您是否在 Windows 安装程序页面上看到“出现问题”以及“OOBELANGUAGE”语句?Windows的安装有时会因此类错误而停止。OOBE 表示 开箱即用的体验。正如错误提示所表示的那样,这是与 OOBE 语言选择相关的问题。没有什
2023-07-16

修复Windows中的Wi-Fi连接问题

修复Windows中的Wi-Fi连接问题可以尝试以下方法:1. 检查Wi-Fi开关:确保Wi-Fi开关已打开。有些笔记本电脑上会有一个物理开关或功能键来启用或禁用Wi-Fi功能。2. 重启Wi-Fi路由器:将Wi-Fi路由器断电并等待几分钟
2023-09-08

怎么在Linux终端中修复U盘驱动器问题

这篇文章将为大家详细讲解有关怎么在Linux终端中修复U盘驱动器问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用fsck移除U盘中的坏块在 Linux 中修复闪存盘或其它类型驱动器最为简单的方法就是
2023-06-16

如何在微信小程序中修复input抖动问题

这篇文章给大家介绍如何在微信小程序中修复input抖动问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。修复:.dialog-input,.dialog-input-placeholder { height: 80rp
2023-06-06

如何在iPhone上修复屏幕录制中没有声音的问题

我们已经观察到,许多iPhone用户都在面对屏幕录制方面的问题。报道称,iPhone上的屏幕录制剪辑中没有捕获声音。此问题的潜在原因可能是由于iPhone中的技术故障,未捕获声音的应用程序的某些问题,麦克风未启用屏幕录制,iPhone可能处
2023-07-18

修复Windows中的打印机连接和打印问题

以下是修复Windows中的打印机连接和打印问题的一些建议:1. 检查打印机连接:确保打印机已正确连接到电脑上,检查USB或网络连接线是否牢固连接。如果是网络打印机,确保网络连接正常。2. 检查打印机电源和纸张:确保打印机已经打开,并且有足
2023-09-13

C++中异常安全性的问题与修复方案

C++中异常安全性的问题与修复方案引言:异常安全性是指程序在发生异常时能够保证资源的正确释放和状态的恢复,以避免资源泄漏和数据不一致。在C++编程中,异常安全性是一项重要的设计原则,能够提高程序的可靠性和健壮性。然而,C++中存在着一些常见
2023-10-22

MySQL的锁竞争问题在HBase中是否依然存在

MySQL和HBase是两种不同类型的数据库系统,它们在数据存储、查询语言、并发控制等方面有着本质的区别。因此,直接将MySQL的锁竞争问题应用到HBase上是不恰当的。不过,我们可以探讨HBase的锁机制及其如何应对并发访问。以下是HBa
MySQL的锁竞争问题在HBase中是否依然存在
2024-10-19

编程热搜

目录