CentOS 7 玛丽亚数据库 10.2.44。
X [root@psa95 ~]$ rpm -qa | grep Maria
MariaDB-server-10.2.44-1.el7.centos.x86_64
MariaDB-common-10.2.44-1.el7.centos.x86_64
MariaDB-compat-10.2.44-1.el7.centos.x86_64
MariaDB-client-10.2.44-1.el7.centos.x86_64
✓ [root@psa95 ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
/root/.my.cnf 中提供的凭据包含客户端、mysqldump、mysql 的部分。
X [root@psa95 ~]$ mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4875
Server version: 10.2.44-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> Bye
✓ [root@psa95 ~]$ mysqldump mysql
mysqldump: Got error: 1045: "Access denied for user 'root'@'localhost' (using password: YES)" when trying to connect
mysql 命令有效。mysqldump 命令没有。
我尝试使用 -p 提示输入密码,并在命令行上提供用户名和密码。同样的事情——适用于 mysql,不适用于 mysqldump。
另一个具有完全相同的 MariaDB 版本和 .my.cnf 中相同设置的 CentOS 7 系统完美运行。我比较了两个系统的 mysqldump 二进制文件,它们是相同的。
我搜索了谷歌并尝试了我能找到的每一个想法。没有一个奏效。我还能尝试什么?排除故障还需要哪些其他信息?我知道密码很好——它适用于 mysql 命令。
问题原来是 mysqldump 需要 --ssl 才能正常运行。