用户“ @'localhost”的访问被拒绝(使用密码:NO)-Laravel

时间:2019-08-13 10:18:21

标签: mysql laravel

编码和Laravel的新手。我正在追踪tutorial video,并在22:31:00被告知编辑.env文件,然后使用“ php artisan migration”连接到数据库。

我在Larevel数据库文件夹“ database.wamp”(我使用WAMP连接到mysql数据库)中手动创建了一个文件,并将.env信息设置为;

LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_DATABASE=database.wamp
DB_USERNAME=root
DB_PASSWORD=""

我的mysql数据库没有密码。

我已经查看了许多有关上述问题的在线答案,但没有用。

我收到以下错误;

C:\wamp64\www\sites\demo1>php artisan migrate
  

Illuminate \ Database \ QueryException:SQLSTATE [HY000] [1045]访问被拒绝
  对于用户``@'localhost'(使用密码:否)(SQL:选择* from   information_schema.tables其中table_schema = database.wamp和   table_name =迁移,而table_type ='BASE TABLE')

我想添加更多代码,但是stackoverflow格式永远无法工作。单击CTRL + K只会打开一个新的镶边选项卡。我什至不能在每行之前添加4个空格以容纳6行以上的代码,否则空格键会变成一个返回按钮,而文本只会向下移动。非常烦人。

5 个答案:

答案 0 :(得分:1)

您的主机和端口在哪里?

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database.wamp
DB_USERNAME=root
DB_PASSWORD=

然后使用命令php artisan config:cache,然后使用php artisan migrate

答案 1 :(得分:1)

请进入config文件夹,然后打开database.php文件。 这里在mysql部分添加您的数据库名称,主机和密码,它可能不会从.env文件中获取值。

如果仍然无法正常运行,则说明您使用了错误的数据库密码。

答案 2 :(得分:1)

您可能在MariaDB中使用了WAMP,必须将端口更改为3307

DB_PORT=3307

答案 3 :(得分:1)

您必须‍ restart您的Web服务器。

如果您的问题仍未解决,请运行以下命令:

php artisan cache:clear
php artisan config:cache

答案 4 :(得分:0)

我想添加其他信息并显示尝试过的内容,因为现在我收到了另一条错误消息。

如上所述,我正在观看一个教程视频,并被告知要创建“ database.wamp”文件名,然后在命令提示符下运行“ php artisan migration ”。

但是,我一直收到“用户'@'localhost'(使用密码:否)的访问被拒绝”

这是我的.env设置

LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_DATABASE=database.wamp
DB_USERNAME=root
DB_PASSWORD=""

以及在“ config>数据库”中找到的我的mysql设置

'mysql' => [
       'driver' => 'mysql',
       'url' => 'database.wamp',
       'host' => 'localhost',
       'port' => '3306',
       'database' => 'mysql',
       'username'  => 'root',
       'password' => "",
       'unix_socket' => env('DB_SOCKET', ''),
       'charset' => 'utf8mb4',
       'collation' => 'utf8mb4_unicode_ci',
       'prefix' => '',
       'prefix_indexes' => true,
       'strict' => true,
       'engine' => null,
       'options' => extension_loaded('pdo_mysql') ? array_filter([
           PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
       ]) : [],

我检查端口为3306,这是正确的MySQL端口(MariaDB为3307)

接下来,我在MySQL中创建了一个名为database.wamp的数据库,并在命令提示符下运行了“ php artisan migration”。这次我收到新的错误消息:

未知数据库'atabase_url'

我看到文本“数据库”缺少“ d”,但不确定在哪里找到?我检查了phpMyAdmin数据库,它的拼写正确。我还检查了Laravel中我能想到的所有地方,找不到拼写错误的单词?