[root@test ~]# xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123qqq...A --socket=/var/lib/mysql/mysql.sock --target-dir=/var/lib/mysql/backups/ --backup Can't locate Digest/MD5.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at - line 693. BEGIN failed--compilation aborted at - line 693. 230608 11:55:11 Connecting to MySQL server host: localhost, user: root, password: set, port: 0, socket: /var/lib/mysql/mysql.sock Error: Unsupported server version: '5.7.42-log'. Please report a bug at https://bugs.launchpad.net/percona-xtrabackup
时间: 2023-07-07 13:42:54 浏览: 205
根据你提供的信息,xtrabackup 在执行备份时出现了错误。错误信息中提到了 "Can't locate Digest/MD5.pm",这意味着你的 Perl 环境缺少 Digest::MD5 模块。
你需要安装 Digest::MD5 模块并重新运行备份命令。你可以使用下面的命令安装该模块:
```
yum install perl-Digest-MD5
```
同时,错误信息中也提到了 "Unsupported server version: '5.7.42-log'",这意味着你的 MySQL 服务器版本不被支持。你需要升级 xtrabackup 或降低 MySQL 服务器版本以解决这个问题。
相关问题
xtrabackup --host=127.0.0.1 --user=root --password=crpower_^&* --backup --target-dir=/data/backups/语法检查
你的第一个问题是关于xtrabackup命令的语法检查,以下是该命令的正确语法:
xtrabackup --host=127.0.0.1 --user=root --password=crpower_^&* --backup --target-dir=/data/backups/
该命令用于进行MySQL数据库备份,其中:
--host参数指定要备份的MySQL服务器的地址;
--user参数指定连接MySQL服务器的用户名;
--password参数指定连接MySQL服务器的用户密码;
--backup参数表示进行备份操作;
--target-dir参数指定备份文件的存储目录。
请注意,命令中不应该包含语法检查这一部分。
为什么mysql 数据库 备份执行命令 xtrabackup -uroot -p123456 --backup --target-dir=/data/mysql_bak/full/ 提示:Access denied for user 'root'@'localhost' (using password: YES) ,但执行 xtrabackup -uroot -p --backup --target-dir=/data/mysql_bak/full/20230602 后输入密码123456可以备份。
这个问题可能是由于密码中包含了特殊字符(如$, *, ^等)导致的。在第一条命令中,密码是123456,如果密码中包含特殊字符,就需要使用引号将密码括起来,例如:
```
xtrabackup -uroot -p'p@ssword' --backup --target-dir=/data/mysql_bak/full/
```
这样可以避免特殊字符被Shell解释器解释而导致的问题。另外,建议使用专门的备份用户进行备份,而不是使用root用户,这样可以增强数据库的安全性和可管理性。
阅读全文