CentOS 7 MariaDB 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。
另一个 CentOS 7 系统具有完全相同的 MariaDB 版本,并且在 .my.cnf 中具有相同的设置,可以完美运行。我比较了两个系统的 mysqldump 二进制文件,它们是相同的。
我搜索了 Google,尝试了所有能找到的方法。但都不起作用。我还能尝试什么?排除故障还需要什么其他信息?我知道这个密码很好用——它可以与 mysql 命令一起使用。
答案1
问题原来是 mysqldump 需要 --ssl 才能正常运行。