mysql 配置:访问被拒绝错误 (1045)
mysql configuration: access denied error (1045)
我在使用 Ubuntu 的 Hyper-V VM 上遇到 mysql 问题。我正在使用的一些可能相关的规范:
PHP 7.2.3-1+ubuntu16.04.1+deb.sury.org+1 (cli)
mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper
Psy Shell v0.8.18 (PHP 7.2.3-1+ubuntu16.04.1+deb.sury.org+1 — cli)
我正在做一个练习项目并且对编码非常陌生,所以我可能会遗漏一些对于非新手来说非常明显的东西。当我尝试时:
php artisan migrate
我收到以下错误:
In Connection.php line 664:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
sword: YES) (SQL: select * from information_schema.tables where table_schem
a = mytestproject and table_name = migrations)
In PDOConnection.php line 50:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
sword: YES)
In PDOConnection.php line 46:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
sword: YES)
我已尝试按如下方式设置我的 database.php、.env 文件:
.env 文件:
APP_ENV=local
APP_DEBUG=true
APP_KEY=
APP_TIMEZONE=UTC
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mytestproject
DB_USERNAME=root
DB_PASSWORD=password
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
CACHE_DRIVER=redis
QUEUE_DRIVER=redis
database.php 文件:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'mytestproject'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'mypassword'),
'unix_socket' => env('DB_SOCKET', ' '),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Mysql 用户:
mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
4 rows in set (0.06 sec)
根据我对这个错误的搜索,我看到很多解决方案都指出 .env 文件和 database.php 文件需要正确配置,我试过了。我尝试设置 root 用户权限,将 localhost 更改为 127.0.0.1,等等。我已经尝试了我在各种留言板上遇到的所有建议,但我相信我的设置可能有一些特别之处或我还没有检查以解决此错误并继续我的设置。任何帮助将不胜感激。
你展示了:
在 .env 文件中:
DB_PASSWORD=password
在database.php中:
'password' => env('DB_PASSWORD', 'mypassword'),
那么正确的密码在哪里?
我在使用 Ubuntu 的 Hyper-V VM 上遇到 mysql 问题。我正在使用的一些可能相关的规范:
PHP 7.2.3-1+ubuntu16.04.1+deb.sury.org+1 (cli)
mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper
Psy Shell v0.8.18 (PHP 7.2.3-1+ubuntu16.04.1+deb.sury.org+1 — cli)
我正在做一个练习项目并且对编码非常陌生,所以我可能会遗漏一些对于非新手来说非常明显的东西。当我尝试时:
php artisan migrate
我收到以下错误:
In Connection.php line 664:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
sword: YES) (SQL: select * from information_schema.tables where table_schem
a = mytestproject and table_name = migrations)
In PDOConnection.php line 50:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
sword: YES)
In PDOConnection.php line 46:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
sword: YES)
我已尝试按如下方式设置我的 database.php、.env 文件:
.env 文件:
APP_ENV=local
APP_DEBUG=true
APP_KEY=
APP_TIMEZONE=UTC
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mytestproject
DB_USERNAME=root
DB_PASSWORD=password
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
CACHE_DRIVER=redis
QUEUE_DRIVER=redis
database.php 文件:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'mytestproject'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'mypassword'),
'unix_socket' => env('DB_SOCKET', ' '),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Mysql 用户:
mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
4 rows in set (0.06 sec)
根据我对这个错误的搜索,我看到很多解决方案都指出 .env 文件和 database.php 文件需要正确配置,我试过了。我尝试设置 root 用户权限,将 localhost 更改为 127.0.0.1,等等。我已经尝试了我在各种留言板上遇到的所有建议,但我相信我的设置可能有一些特别之处或我还没有检查以解决此错误并继续我的设置。任何帮助将不胜感激。
你展示了:
在 .env 文件中:
DB_PASSWORD=password
在database.php中:
'password' => env('DB_PASSWORD', 'mypassword'),
那么正确的密码在哪里?