我创建了一个表单,它接受用户的输入并将其提供给 MYSQL 数据库。我使用了以下命令
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'asthana2';
//creating connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
但是弹出一个错误
Access denied for user 'root'@'localhost'
我该怎么做才能解决这个问题?
答案1
我也遇到了这个问题...据我所知,这是因为根如果没有密码,则无法使用用户(出于安全原因)。要解决此错误,您必须为 root 用户分配密码。
如何做到这一点,你可以阅读这里
但是,我会创建一个新用户并赋予该用户所需的权限。因为我永远不会以 root 用户身份访问数据库(权限太多,权力太大)。
答案2
mysql -u root -p 然后输入您的密码输入此命令更新mysql.user set plugin ='mysql_native_password'其中User ='root'; FLUSH PRIVILEGES; exit;