使用 digitalocean 伪造 mysqldump 命令访问被拒绝

Access denied for mysqldump command on forge with digitalocean

我是 运行 一个应该备份我的数据库的 artisan 命令,但是我得到这个错误:

mysqldump: Got error: 1045: Access denied for user 'forge'@'45.65.33.154' (using password: YES) when trying to connect

这是命令:

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

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

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

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';