phpMyAdmin错误:mysqli_real_connect():(HY000 / 1045):用户’pma’@’localhost’的访问被拒绝(使用密码:NO)

2021/01/12 21:41 · php ·  · 0评论

我通过XAMPP的mysql连接不断收到以下错误,我不知道该怎么办:

在此处输入图片说明

那是config.inc.php中的代码

<?php
/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE 
SECURE COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
* First server
*/
$i++;

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

/* Bind to the localhost ipv4 address and tcp */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';

/*
 * End of servers configuration
 */

?>

我已经从命令行从MySql重置了两次密码,并将更改添加到上面的此代码以及php.ini文件中,但是每次都返回到错误。有什么帮助吗?

您需要在mysql中创建用户“ pma”或更改以下行(mysql的用户和密码):

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma'; 
$cfg['Servers'][$i]['controlpass'] = '';

Linux: /etc/phpmyadmin/config.inc.php

将此行添加到文件中xampp\phpMyAdmin\config.inc

$cfg['Servers'][$i]['port'] = '3307';

在这里,我的端口是3307,您可以将其更改为您的端口

在终端中,以root用户身份登录MySQL。首次安装MySQL时,您可能已经创建了root密码,或者密码可能为空,在这种情况下,只需在提示输入密码时按ENTER。

 sudo mysql -p -u root

现在,使用您选择的用户名添加一个新的MySQL用户。在此示例中,我们将其称为pmauser(适用于phpmyadmin用户)。确保用您自己的密码替换这里的password_here。您可以在此处生成密码。这里的%符号告诉MySQL允许该用户从任何地方远程登录。如果您想提高安全性,可以将其替换为IP地址。

CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password_here';

现在,我们将为新用户授予超级用户特权。

GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;

然后转到config.inc.php(在ubuntu中,/ etc / phpmyadmin / config.inc.php)

/ *用户使用高级功能* /

$cfg['Servers'][$i]['controluser'] = 'pmauser'; 
$cfg['Servers'][$i]['controlpass'] = 'password_here';

将这些行添加到文件中xampp\phpMyAdmin\config.inc

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = '';

Linux / Ubuntu:如果通过apt安装了phpmyadmin:
sudo apt-get install phpmyadmin php-mbstring

可以检查/etc/phpmyadmin/config-db.php是否更改了用户凭据。

$dbuser='pma';
$dbpass='my_pass';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='3306';
$dbtype='mysql';

在以下情况下,配置中定义的controluser的连接失败:

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'you_password';

我的默认3306端口正在使用中,因此我将其更改为8111,然后出现此错误。我已经通过添加来修复它

$cfg['Servers'][$i]['port'] = '8111';

进入config.inc.php。如果您使用其他端口号,请设置您的端口号。

我通过将行添加skip-grant-tablesmy.ini解决了该问题

# The MySQL server
[mysqld]
skip-grant-tables
port= 3306
...

在XAMPP控制面板下> “ MySQL”部分>配置> my.ini

在全新安装VestaCP时,我遇到了相同的错误。我按照此视频上的说明解决了这些问题

  1. 转到phpmyadmin-fixer并运行适当的命令。
  2. 重新启动Apache,NGINX和MySQL服务器。
  3. 而已!

派对可能会迟到-同样,此答案适用于像我一样从Google到此线程的LAMP用户

基本上,问题是PMA尝试使用不存在的用户连接到SQL。

在/etc/phpmyadmin/config-db.php中,您将找到2个变量:$ dbuser和$ dbpass。这些指定了PMA尝试连接的MySQL用户和密码。

现在,使用有效的用户名/密码连接(如果从本地主机连接,则使用“ root”),创建一个具有全局特权的新用户(例如,-%PMA User%,密码为%Some Random Password%),然后在上面提到的文件集:

$ dbuser =%PMA User%;


$ dbpass =%一些随机密码%;

您还可以在此处更改其他内容,例如服务器地址($ dbserver),端口($ dbport,这可能不是计算机上的默认值)等。

我刚刚在MAC上完成XAMPP的设置,并且遇到了同样的麻烦。我刚刚修好了。目前尚不清楚您使用的是哪个操作系统,但需要运行XAMPP安全性。您表示已完成操作,但MAC仍然适用

sudo /Applications/XAMPP/xamppfiles/xampp security 

在遇到的问题上设置密码。

在phpmyadmin中,导入“ .create_tables.sql” ..可以在./phpmyadmin/sql文件夹中找到。

接下来打开config.inc.php文件./phpmyadmin内的文件。

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'you_password';

确保注销并登录以反映phpmyadmin中的更改

考虑更改主机条目127.0.0.1localhost甚至服务器的IP地址。

$cfg['Servers'][$i]['host']

此错误是由/usr/share/phpmyadmin/libraries/sql.lib.php中的一行代码引起的。

似乎当我使用apt安装phpMyAdmin时,存储库中的版本(phpMyAdmin v4.6.6)与PHP 7.2不完全兼容。官方网站上有可用的较新版本(截至撰写时为v4.8),该版本解决了PHP 7.2的这些兼容性问题。

您可以下载最新版本并手动安装它,或者等待存储库更新为较新版本。

另外,您可以对sql.lib.php进行少量更改以修复该错误。

首先,在编辑之前备份sql.lib.php。

1端:

sudo cp /usr/share/phpmyadmin/libraries/sql.lib.php /usr/share/phpmyadmin/libraries/sql.lib.php.bak

2-编辑sql.lib.php。使用vi:

sudo vi /usr/share/phpmyadmin/libraries/sql.lib.php

或使用nano:

sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

CTRL+ W(对于nano)或?(对于vi / vim)并搜索(count($analyzed_sql_results['select_expr'] == 1)

替换为 ((count($analyzed_sql_results['select_expr']) == 1)

保存文件并退出。(按CTRL+ X,按Y,然后为纳米用户按ENTER /(对于vi / vim)ESC,然后键入:wq并按ENTER)

如果您的端口是3307(基于端口)

在i ++之后,在xampp \ phpMyAdmin \ config.inc中添加以下行:

$cfg['Servers'][$i]['port'] = '3307';

我正在使用UniServer零XIV 13.xx UniController XIV V2.3.1:

在此处输入图片说明

在命令行中,我这样做:

mysql> CREATE USER 'pmauser'@'%' IDENTIFIED BY 'MyPasswordHere!';
Query OK, 0 rows affected (0.07 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.02 sec)

然后我去了 C:\...\wamp\ZeroXIV_unicontroller_2_3_1\UniServerZ\home\us_opt1\config.inc.php修改了文件,使其具有以下功能:

/* PMA User advanced features */
//////////$cfg['Servers'][$i]['controluser']    = 'pma';
//////////$cfg['Servers'][$i]['controlpass']    = $password;
$cfg['Servers'][$i]['controluser']    = 'pmauser';
$cfg['Servers'][$i]['controlpass']    = 'MyPasswordHere!';

我重新启动了Apache和MySQL。错误消失了!

在浏览器中清除站点数据。它将被修复。有时,当您运行代理,vpn或其他程序时,会发生此错误。

本文地址:http://php.askforanswer.com/phpmyadmincuowumysqli_real_connecthy000-1045yonghupmalocalhostdeding.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!