zoukankan      html  css  js  c++  java
  • kali配置phpmyadmin报错mysqli::__construct(): (HY000/1698): Access denied for user 'root'@'localhost' 解决办法

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

    上次装好mysql,phpmyadmin,登录后由于默认设置的账号密码登录是看不到本地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步操作就行了

  • 相关阅读:
    nginx搭建文件服务器配置文件
    VS code
    UNIX 网络编程学习
    局域网内的一些计算机可以ping通 有些ping不同
    Cfree clion windows c语言 socket 网络编程
    查找文件
    select * from 后有多个表的使用方法
    linux安装git方法
    Xshell中文乱码怎么处理?
    linux 逻辑卷管理 /dev/mapper/VolGroup-lv_root 100%调整分区大小
  • 原文地址:https://www.cnblogs.com/liujizhou/p/13179821.html
Copyright © 2011-2022 走看看