Liunx下备份数据库

在liunx服务器上执行命令


mysqldump -uroot -ptyrwe.  test >/home/abbackup/cmysqlBackup/2023-05-29/test -2023-05-29.sql

一直报错mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
不知道是什么原因,检查了账户名密码都是正确的

看起来没什么问题 确定密码没问题?不行改一个不加 . 的密码吧哈哈哈

这个错误提示是因为在执行mysqldump命令时,使用的root账户没有权限连接到MySQL服务器,可能是由于root账户没有授予远程访问权限。你可以尝试以下几种解决办法:

  1. 检查root账户是否拥有远程访问权限,可执行如下命令进行检查:

    SELECT user, host FROM mysql.user WHERE user='root';
    

    如果其中host列中存在'%'表示允许从任何主机访问,或者存在你当前登录的IP地址,就说明root账户可以远程连接,否则就需要给root账户授予相应的权限。

  2. 如果未授权,可以通过在MySQL服务器上重新授权root账户的方式解决,示例命令如下:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    

    其中,password需要替换为你自己的密码。

  3. 如果你已经授权了root账户,但仍然无法访问,尝试使用密码登录MySQL服务器,可以在-p后不接密码,回车后再输入密码进行登录,示例命令如下:

    mysql -uroot -p
    

    如果你可以成功登录,说明密码正确,这时候再使用mysqldump命令备份数据可能会成功。

如果仍然无法解决问题,请分析更多详细信息,比如Linux发行版、MySQL版本、ROOT账户授权情况等,方便解决问题。

是不是不允许root用户远程登录

把密码用双引号括起来