kali配置phpmyadmin报错mysqli::__construct(): (HY000/1698): Access denied for user 'root'@'lo

Posted 枕桃花吹长笛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kali配置phpmyadmin报错mysqli::__construct(): (HY000/1698): Access denied for user 'root'@'lo相关的知识,希望对你有一定的参考价值。

原文链接  https://blog.csdn.net/teddy_dewei_lu/article/details/79659013

 

上次装好mysqlphpmyadmin,登录后由于默认设置的账号密码登录是看不到本地mysql的数据库,而且是无法创建数据库的,那么这就很尴尬了,看了网上其他说法,有的说修改config.inc.php,有的说修改mysql的配置文件,但似乎都并不适合我的这个错误,后来查阅了相关资料后,才发现MySQL 5.7改变了安全模式:现在MySQL root登录需要一个sudo(而密码仍然可以是空白的)。就是说,phpMyAdmin将无法使用根凭证。

那么怎么办呢?最简单(最安全)的解决方案将创建一个新用户并授予所需的权限。

MySQL赋予用户权限的命令的格式为:
grant 权限 on 数据库对象 to 用户 identified by "密码"

第一步,链接数据库
sudo mysql -u root -p

 

2. 创建一个用来赋予权限的账户(例如 root_sql)
CREATE USER ‘root_sql‘@‘localhost‘ IDENTIFIED BY ‘yourpasswd‘;
GRANT ALL PRIVILEGES ON *.* TO ‘root_sql‘@‘localhost‘ WITH GRANT OPTION;
FLUSH PRIVILEGES;

 


3.更新phpMyAdmin配置
打开文件/var/www/html/phpmyadmin/libraries/config.default.php

修改你的配置文件内容

 

/**
 * MySQL user
 *
 * @global string $cfg[‘Servers‘][$i][‘user‘]
 */
$cfg[Servers][$i][user] = root_sql;

/**
 * MySQL password (only needed with ‘config‘ auth_type)
 *
 * @global string $cfg[‘Servers‘][$i][‘password‘]
 */
$cfg[Servers][$i][password] = yourpasswd;

注(ip为127.0.0.1    端口为空) 

 

 

4.登录即可

账号:root_sql         密码:yourpasswd

 

当然以上情况是新建用户赋予权限,但是如果你想把本来的phpmyadmin账户赋予所有权限,那么你只要执行

GRANT ALL PRIVILEGES ON *.* TO ‘phpmyadmin‘@‘localhost‘ IDENTIFIED BY ‘yourpasswd‘;
FLUSH PRIVILEGES;
然后再执行2,3步操作就行了

以上是关于kali配置phpmyadmin报错mysqli::__construct(): (HY000/1698): Access denied for user 'root'@'lo的主要内容,如果未能解决你的问题,请参考以下文章

安装phpMyAdmin缺少mysqli扩展该怎么办?

为啥登陆phpadmin的界面提示缺少mysqli扩展,请检查php配置

phpMyAdmim和Yii 连接Mysql报错。

缺少扩展 mysqli,phpmyadmin 不起作用

缺少扩展 mysqli,phpmyadmin 不起作用

XAMPP报错:mysqli::real_connect(): (HY000/1045): Access denied for user ‘pma‘@‘localhost‘