【问题标题】:Access denied for mysqldump command on forge with digitalocean使用 digitalocean 在 forge 上拒绝访问 mysqldump 命令
【发布时间】:2015-12-30 03:45:49
【问题描述】:

我正在运行一个应该备份我的数据库的 artisan 命令,但我收到此错误:

mysqldump:出现错误:1045:尝试连接时拒绝用户 'forge'@'45.65.33.154' 访问(使用密码:YES)

这是命令:

exec('mysqldump -u '.$user.' -h '.$host.' -pmysql-pass '.$password.' forge > storage/files/'.$fileSql);

它使用了正确的用户名和密码,所以我真的看不出问题出在哪里。在我的本地机器上,它运行良好。当然,我正确配置了所有环境变量。

【问题讨论】:

    标签: php mysql laravel mysqldump


    【解决方案1】:

    你的参数密码错误,应该是:

    exec('mysqldump -u '.$user.' -h '.$host.' --password='.$password.' forge > storage/files/'.$fileSql);
    

    您可能需要使用以下方式授予访问权限:

    GRANT ALL ON yourdb.* TO theusername@mypc IDENTIFIED by 'the-password-goes-here';
    

    【讨论】:

    • 还是不行。我尝试了很多变化。当我按照你说的做时,它要求输入密码,所以我给了它我的密码,它说未知数据库密码。就像它认为密码是数据库名称一样。
    • 您的密码变量是否包含空格?
    • 不。命令有错吗?我需要为此获得特别许可吗?
    • 你也在使用相同的用户名/密码从那台机器连接到 mysql?
    • 是的。在网站本身上,一切都运行良好。我也可以使用相同的凭据访问 sequel pro。
    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 2016-01-21
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 2020-02-23
    相关资源
    最近更新 更多