Mysql SQLSTATE[28000][1045]拒绝用户访问';elsharkawyazq#u气候应用程序'@';本地主机';(使用密码:是)
我的env数据库是正确的,但我得到了这个错误 用户'elsharkawyazq_climate_app'@'localhost'的SQLSTATE[28000][1045]访问被拒绝(使用密码:是) 我在服务器上使用的是PHP7.3上的Laravel5.8 我尝试了其他工作数据库不工作,所以环境文件数据是正确的,但我不知道为什么会发生这种情况 我的环境Mysql SQLSTATE[28000][1045]拒绝用户访问';elsharkawyazq#u气候应用程序'@';本地主机';(使用密码:是),mysql,laravel,cpanel,Mysql,Laravel,Cpanel,我的env数据库是正确的,但我得到了这个错误 用户'elsharkawyazq_climate_app'@'localhost'的SQLSTATE[28000][1045]访问被拒绝(使用密码:是) 我在服务器上使用的是PHP7.3上的Laravel5.8 我尝试了其他工作数据库不工作,所以环境文件数据是正确的,但我不知道为什么会发生这种情况 我的环境 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=elsharka
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=elsharkawyazq_climate_app
DB_USERNAME=elsharkawyazq_climate_app
DB_PASSWORD=SomePassword!@##@!
我的数据库
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'elsharkawyazq_climate'),
'username' => env('DB_USERNAME', 'elsharkawyazq_test'),
'password' => env('DB_PASSWORD', 'SomePassword!@##@!'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => false,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
我在本地使用了Xampp,一切都很好。在未转义的.env文件中,不能将磅符号(#
)用作字符。用引号括住您的密码:
DB_PASSWORD="Your-password-with-###-here"
当我进入
php artisan tinker
环境时,我可以从.env
加载环境变量,当我在值中有一个磅符号时,它将充当注释。如果在引号内加引号,则不会加引号。在.env DB_密码中,不要使用任何(!)和(#)字符。您可以在密码中使用(@)或(%)字符。因此,请从DB_密码中删除这些字符
DB_PASSWORD="Use only the laravel allowed db password allowed characters"
我认为它应该适用于所有lavavel爱好者。可能是您在更改env文件之前运行了应用程序。您需要先更改环境文件。可能的解决方案是删除所有文件并再次上载。不确定这是否相关,但我在您的环境文件
'url'=>env('DATABASE_url'),
有任何更新Kareimovich吗?