免费实时主机上的问题而不是本地主机上的问题 - SQLSTATE [HY000] [1045] 拒绝用户访问 'forge'@'
issue on free live host but not on localhost - SQLSTATE[HY000] [1045] Access denied for user 'forge'@'
我的 laravel 应用程序和 mysql 数据库在我使用 WAMP 的本地计算机上运行良好。当我上传到免费的实时主机进行测试时,当我尝试将用户注册到数据库时收到此消息:
Illuminate\Database\QueryException
SQLSTATE[HY000] [1045] 用户 'forge'@'192.168.0.64' 的访问被拒绝(使用密码:NO)(SQL:select count(*) as从 users
汇总,其中 email
= jdoe@jdoe.com)
基本上任何与访问实时站点上的数据库有关的操作都不起作用。
好像 mysql 是个问题。这是我的设置:
config/database.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
@Kevind 在您的 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 中而不是外部来源。非常感谢。
我的 laravel 应用程序和 mysql 数据库在我使用 WAMP 的本地计算机上运行良好。当我上传到免费的实时主机进行测试时,当我尝试将用户注册到数据库时收到此消息:
Illuminate\Database\QueryException
SQLSTATE[HY000] [1045] 用户 'forge'@'192.168.0.64' 的访问被拒绝(使用密码:NO)(SQL:select count(*) as从 users
汇总,其中 email
= jdoe@jdoe.com)
基本上任何与访问实时站点上的数据库有关的操作都不起作用。
好像 mysql 是个问题。这是我的设置:
config/database.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
@Kevind 在您的 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 中而不是外部来源。非常感谢。