免费实时主机上的问题而不是本地主机上的问题 - SQLSTATE [HY000] [1045]

我的带有 mysql 数据库的 laravel 应用程序在我使用 WAMP 的本地计算机上运行良好。当我上传到免费的实时主机进行测试时,当我尝试将用户注册到数据库时收到此消息:


Illuminate\Database\QueryException SQLSTATE[HY000] [1045] 用户 'forge'@'192.168.0.64' 的访问被拒绝(使用密码:NO)(SQL:选择 count(*) as aggregate from where = usersjdoe@jdoe.com email)


基本上任何与访问实时站点上的数据库有关的操作都不起作用。


这就像 mysql 是一个问题。这是我的设置:


配置/数据库.php:


        'mysql' => [

        'driver' => 'mysql',

        'url' => env('DATABASE_URL'),

        'host' => env('DB_HOST', 'sql201.epizy.com'),

        'port' => env('DB_PORT', '3306'),

        'database' => env('epiz_25791111_contact_db', 'forge'),

        'username' => env('epiz_25791111', 'forge'),

        'password' => env('mypassword1', ''),

        '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'),

        ]) : [],

    ],

.env 文件


DB_CONNECTION=mysql

DB_HOST=sql201.epizy.com

DB_PORT=3306

DB_DATABASE=epiz_25791111_contact_db

DB_USERNAME=epiz_25791111

DB_PASSWORD=mypassword1


慕村9548890
浏览 134回答 3
3回答

长风秋雁

您的托管商不允许来自外部来源的连接。

小怪兽爱吃肉

在您的 mysql 服务器的 mysql 提示符下输入以下内容:CREATE USER 'forge'@'192.168.0.64' IDENTIFIED BY 'PASSWORD';GRANT ALL PRIVILEGES ON *.* TO 'forge'@'192.168.0.64' WITH GRANT OPTION;FLUSH PRIVILEGES;请务必将 PASSWORD 更改为您想要的密码。

森林海

伙计们,我想通了。我使用的是免费主机密码,而不是不同的 Vpanel 密码。现在可以访问数据库功能。显然这个免费主机决定也将 vpanel 的随机密码复制到 mysql 密码。我不确定我是否澄清了,但数据库在 Vpanel 中而不是外部来源。非常感谢。
打开App,查看更多内容
随时随地看视频慕课网APP