[英]SQLSTATE[28000] [1045] Access denied for user 'root’@host
[英]Access denied for user 'root'@'pop-os' when running migrations on external host
我正在嘗試在同一網絡中的另一個 mariadb 上運行 laravel 遷移(對於本地主機它工作正常)。 我可以使用mysql -u root -p 192.168.2.100
訪問這個數據庫就好了。
但是使用 php artisan migrate 我收到錯誤錯誤消息:
SQLSTATE[HY000] [1045] 用戶'root'@'pop-os'的訪問被拒絕(使用密碼:YES)(SQL:select *來自information_schema.tables where table_schema = 92.168.2.166 and table_name = migrations and table_type = 'BASE桌子')
我從 pop-os (linux) 運行它,但我不明白它為什么將它用作主機? 我在任何地方的配置中都沒有“pop-os”。
配置 ENV 文件:
DB_CONNECTION=mysql
DB_HOST=192.168.2.100
DB_PORT=3306
DB_DATABASE=Laravel_db
DB_USERNAME=root
DB_PASSWORD=***
數據庫.php (mysql)
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'Laravel_db'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', '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'),
]) : [],
],
laravel 版本 9.29.0
您確定有一個名為“root”的數據庫用戶使用您的密碼嗎?
嘗試直接登錄到該數據庫(例如從控制台)並查看是否有效。
還嘗試授予用戶“root”權限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.