簡體   English   中英

在外部主機上運行遷移時,用戶“root”@“pop-os”的訪問被拒絕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM