![](/img/trans.png)
[英]SQLSTATE[28000] [1045] Access denied for user 'root’@host
[英]SQLSTATE[28000] [1045] Access denied for user 'root'
我准备好了我的项目,我刚刚上传到共享托管服务器。 在我的本地计算机上一切正常,但页面显示错误:“SQLSTATE [28000] [1045]访问被拒绝用户'root'@'localhost'(使用密码:NO)”
我已经检查了我的密码和用户名,他们都是正确的。 服务器要求也是因为我已经有2个运行相同主机的Laravel站点。
我已经完成了php artisan config:cache php artisan cache:clear但没有进展。
可能导致这种情况的原因是什么?如何解决? 我真的需要一个解决方案,因为这让我夜不能寐。
试着用这3个工匠的命令。
1) php artisan config:clear
2) php artisan cache:clear
3) php artisan config:cache
不同的配置? 它说你的密码是空的;)
“我已经检查了我的密码和用户名”
“(使用密码:否)”
应用程序/配置/ database.php中:
'mysql' => array(
'read' => array(
'host' => '192.168.1.1',
),
'write' => array(
'host' => '196.168.1.2'
),
'driver' => 'mysql',
'database' => 'database',
'username' => 'root',
'password' => '<insert password here?>',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
打开终端并输入
sudo mysql -u root -p
它会在mysql中提示你,在这里你可以发出任何mysql命令。
使用mysql表更改表类型,因此我们可以使用空密码。 贝娄是命令
USE mysql;
现在我们通过以下命令更改表的类型
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
现在我们必须刷新权限,因为我们使用了UPDATE。 如果直接在授权表上使用INSERT,UPDATE或DELETE,则需要使用FLUSH PRIVILEGES来重新加载授权表。
FLUSH PRIVILEGES;
现在通过以下命令退出mysql
exit;
现在通过以下命令重启mysql服务器
service mysql restart
希望这可能有所帮助
谢谢。
无论何时部署项目,通常都应该将php artisan config:cache命令作为生产部署例程的一部分运行。 我建议你
为此,请在命令行上运行以下Artisan命令
php artisan config:clear
php artisan cache:clear
php artisan config:cache
如果您无法访问服务器上的命令行,则可以通过在路由中添加以下命令来以编程方式执行命令:
Route::get('/clear-cache', function() {
$exitCode = Artisan::call('config:clear');
$exitCode = Artisan::call('cache:clear');
$exitCode = Artisan::call('config:cache');
return 'DONE'; //Return anything
});
然后从浏览器调用clear-cache路由。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.