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步操作就行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM