我正在使用带有env文件的新laravel 5.1框架。 所以,我已经将框架上传到 bluehost 服务器,并且出于某种原因出现了错误:
SQLSTATE[HY000] [1045] Access denied for user '**'@'**' (using password: YES)
我在本地服务器上拥有完全相同的凭据 - 它在那里工作,但不在我的bluehost服务器上。
答案 0 :(得分:2)
执行以下步骤以获取对MySQL的访问权限:
1.-创建数据库用户,执行以下查询:
对于远程用户:
GRANT ALL PRIVILEGES ON db_name.* TO 'remoteuser'@'%' IDENTIFIED BY 'secret-passwd'
对于本地用户:
GRANT ALL PRIVILEGES ON db_name.* TO 'localuser'@'localhost' IDENTIFIED BY 'secret-passwd'
2.-配置Laravel,编辑config/database.php
:
'mysql' => [
'read' => [
'host' => 'localhost',
],
'write' => [
'host' => 'localhost'
],
'driver' => 'mysql',
'database' => 'db_name',
'username' => 'localuser',
'password' => 'secret-passwd',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
],
对于远程连接,请将localhost
更改为服务器的域名,例如:mysql-server.example.net
,将用户名更改为remoteuser
,并在MySQL服务器上打开端口3306。