#1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

Hopefully someone can help me, for I have queried the web with no success or concrete answer to this error. I’m using Windows and Xampp. Here is the error I am getting after I have recently imported the database into phpmyadmin…

#1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

After I import the database, everything is fine in phpmyadmin until I log out and then log back in, this is where the problem lies. When I click on any of the tables from the imported database, I get the following errors…

SELECT 'prefs'
FROM 'phpmyadmin'.'pma_table_uiprefs'
WEHRE 'username' = 'root'
AND 'db_name' = 'afdb'
AND 'table_name' = 'role'


#1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

Thank you again for taking time to read my post and hopefully someone can help me with this error.

220402 次浏览

Pma _ table _ uiprefs 表包含用户首选项。在 phpMyAdmin 的 config.inc.php 中,通过控件用户访问这个表(以及配置存储中的其他表)。在您的示例中,controller user 参数为空,因此查询失败。

For a short-term fix, put the "//" characters in config.inc.php at the start of this line:

    $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

然后退出,重新登录。

有关长期修复,请正确设置配置存储,请参见 http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage

如果使用 XAMPP Path ($cfg [‘ Servers’][ $i ][‘ pmadb’] = ‘ phpmyadmin’;) C: xampp phpmyadmin config.inc.php (可能是第34行的 XAMPP1.8)

另一种解决方案: 我面临同样类型的问题 < strong >”# 1142-SELECT 命令拒绝用户“@‘ localhost’for table‘ pma _ recent’”

  1. 打开 phpmyadmin = = > 设置 = = > 导航帧 = = > 最近使用的表 = = > 0(设置值0) = = > 保存
  1. Open the config.inc.php file from C:\xampp\phpmyadmin

  2. 在 config.inc.php 中将“//”字符放在下面一行的开头:

    $cfg [‘ Servers’][ $i ][‘ pmadb’] = ‘ phpmyadmin’;

    示例://$cfg [‘ Servers’][ $i ][‘ pmadb’] = ‘ phpmyadmin’;

  3. 在 localhost 重新加载 phpmyadmin。

还有一个办法可以解决这个问题。

按照 http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage的指示:

1.-我打开 xampp phpMyAdmin config.inc.php 文件,发现以下几行:

/* User for advanced features */\\


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


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

2.-然后我在 phpmyadmin 中观察到以下表格:

数据库: phpmyadmin

表: Pma _ bookmark Pma _ column _ info 设计师 历史 pma_pdf_pages 最近 pma_relation Pma _ table _ coordspma _ table _ coordspma _ table _ coordspma _ table _ coordspma Pma _ table _ info Pma _ table _ uiprefs Pma _ trace Pma _ userconfig

3.-我运行这个 sql 语句:

 GRANT SELECT , INSERT , UPDATE , DELETE ON phpmyadmin.* TO  `pma`@`localhost` IDENTIFIED BY  ''

而且成功了。

I know this may sound absurd, but I solved a similar issue by creating the database as "phpMyAdmin" not "phpmyadmin" (note case) - perhaps there is something about case-sensitivity under Windows?

Commenting out this line worked for me: $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; But I found several config.inc.php files on my computer because I had a couple installations of MySQL and php haha. I changed it by finding the one under Xampp by just clicking on the config button under Apache for the Xampp control panel then commenting out the line. //

在 ubuntu 上,尝试 dpkg-reconfigure phpmyadmin 并重新创建 phpmyadmin 数据库。

解决这个问题的一种方法是在 phpmyadmin 中登录到 root 用户,进入 users 选项卡,找到并选择无法访问 select 和其他查询的特定用户。然后勾选所有复选框,然后单击“开始”。现在用户可以选择,更新和任何他们想要的。

我偶然发现了这个问题,我解决了它的 只要退出就行了的 phpMyAdmin 和再次。

Click here to log out of phpMyAdmin


解释

查看错误消息查询:

SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

这是由于 MySQL 拒绝访问服务器 localhost上的用户“”(空白)。默认设置是阻止来自匿名用户的所有请求。

通过注销,我们强制 phpMyAdmin“忘记”当前用户,并让我们输入 MySQL 服务器的登录凭据。

Another option is to disable this functionality. If we allow access on the server only for reading 禁用 pmadb

  1. 为服务器添加配置
$cfg['Servers'][$i]['userconfig'] =false;
$cfg['Servers'][$i]['pmadb'] = false;
$cfg['Servers'][$i]['bookmarktable'] = false;
$cfg['Servers'][$i]['relation'] = false;
$cfg['Servers'][$i]['table_info'] = false;
$cfg['Servers'][$i]['table_coords'] = false;
$cfg['Servers'][$i]['pdf_pages'] = false;
$cfg['Servers'][$i]['column_info'] = false;
$cfg['Servers'][$i]['history'] = false;
$cfg['Servers'][$i]['table_uiprefs'] = false;
$cfg['Servers'][$i]['tracking'] = false;
$cfg['Servers'][$i]['designer_coords'] = false;
$cfg['Servers'][$i]['userconfig'] = false;
$cfg['Servers'][$i]['recent'] = false;
  1. 和刷新会话(私有选项卡浏览器或其他)

Try this before anything else - 'clear your cache'. I had the same issue. I was instructed to clear my cache. It worked.

我也有同样的问题,看起来很简单,但它解决了我的问题。我已经尝试了这里推荐的所有解决方案,但就在一天前还没有问题。所以我想问题可能是会话数据。我尝试停下来运行 apache 和 mysql 服务,但它也不能工作。然后我意识到在 phpMyAdmin 的左边的标志下面有一些按钮。“主页”旁边的按钮; “空会话数据”解决了我所有的问题。

只需注销 phpMyAdmin,这就是您需要做的全部事情

这肯定能帮到你

1. 打开 PhpMyAdmin。

在左边的 PhpMyAdmin 标志下点击第二个图标(空会话数据)。

3就是这样。

enter image description here

在 phpMyAdmin SQL 部分中使用此命令:

GRANT SELECT , INSERT , UPDATE , DELETE ON phpmyadmin.* TO  `pma`@`localhost` IDENTIFIED BY  ''

我的数据库托管公司已经禁用了清除会话的选项,因此上述解决方案对我不起作用。 有效的方法是创建一个新用户,并将新用户权限赋予数据库。 这招对我很管用。旧的用户和密码仍然无法工作,但是新创建的用户和密码工作了

This is old question , but recently i have solved the problem. The solution is :

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

在你的终端运行这个命令行并提供你的‘ root’密码,希望你能解决这个问题。欲知详情,请浏览 https://dev.mysql.com/doc/refman/8.0/en/mysql-tzinfo-to-sql.html

它说您的用户是空白的,需要在 /phpMyAdmin/config.inc.php上设置用户。

将用户添加到行中

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

在托管了一个应用程序之后,我遇到了同样的问题,我通过在 Cpanel 中为数据库用户提供所需的权限来解决这个问题。例子在下面的图片中。一定要选择适当的权利。

enter image description here

simply logout from PhpMyAdmin..