希望有人可以帮助我,因为我已经查询了网络,没有成功或对此错误的具体答案。我正在使用Windows和Xampp。这是我最近将数据库导入phpmyadmin后得到的错误...
#1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'
导入数据库后,在phpmyadmin中一切正常,直到我退出然后重新登录,这就是问题所在。当我点击导入数据库中的任何表时,我收到以下错误......
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'
再次感谢您花时间阅读我的帖子,希望有人可以帮我解决这个错误。
答案 0 :(得分:30)
pma_table_uiprefs表包含用户首选项。在phpMyAdmin的config.inc.php中,通过控制用户访问此表(以及配置存储中的其他表)。在您的情况下,controluser参数为空,因此查询失败。
对于短期修复,请将config.inc.php中的“//”字符放在此行的开头:
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
然后注销并重新登录。
要进行长期修复,请正确设置配置存储,请参阅http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage
答案 1 :(得分:18)
这一定会对您有所帮助
1。打开PhpMyAdmin。
2。在PhpMyAdmin徽标下的左侧,单击第二个图标(“空会话数据”)。
3。就这样。
答案 2 :(得分:7)
还有另一种解决方法。
按照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_designer_coords pma_history pma_pdf_pages pma_recent pma_relation pma_table_coords pma_table_info pma_table_uiprefs pma_tracking pma_userconfig
3.-我运行这个sql语句:
GRANT SELECT , INSERT , UPDATE , DELETE ON phpmyadmin.* TO `pma`@`localhost` IDENTIFIED BY ''
它有效。
答案 3 :(得分:4)
在ubuntu上,尝试dpkg-reconfigure phpmyadmin并重新创建phpmyadmin数据库。我使用ansible安装,但没有完成。
答案 4 :(得分:3)
从C:\ xampp \ phpmyadmin打开config.inc.php文件
将config.inc.php中的“//”字符放在下一行的开头:
$ cfg ['Servers'] [$ i] ['pmadb'] ='phpmyadmin';
示例:// $ cfg ['Servers'] [$ i] ['pmadb'] ='phpmyadmin';
在localhost重新加载您的phpmyadmin。
答案 5 :(得分:3)
我偶然发现了这个问题,我只是通过注销的phpMyAdmin再次解决了这个问题。
查看错误消息查询:
SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'
这是因为MySQL拒绝访问用户"" (空白)在服务器localhost
。默认设置是阻止来自匿名用户的所有请求。
通过注销,我们强制phpMyAdmin到"忘记"当前用户,让我们输入MySQL服务器的登录凭据。
答案 6 :(得分:2)
它说您的用户是空白的,需要在 /phpMyAdmin/config.inc.php
上设置用户。
将用户添加到行
$cfg['Servers'][$i]['controluser'] = 'root';
答案 7 :(得分:2)
我遇到了同样的问题,它看起来很简单,但解决了我的问题。我已经尝试过这里推荐的所有解决方案,但是就在一天前没有问题。所以我认为问题可能出在Session数据上。我试图停止并运行apache和mysql服务,但是它也没有起作用。然后我意识到phpMyAdmin左侧徽标的正下方有按钮。 “主页”旁边的按钮; “空会话数据”解决了我所有的问题。
答案 8 :(得分:1)
如果您使用XAMPP路径($ cfg ['Servers'] [$ i] ['pmadb'] ='phpmyadmin';) C:\ xampp \ phpmyadmin \ config.inc.php(第34行可能是XAMPP1.8)
另一种解决方案: 我遇到同样类型的问题“#1142 - SELECT'命令被拒绝用户'''localhost'用于表'pma_recent'”
答案 9 :(得分:1)
这是个老问题,但最近我解决了这个问题。解决办法是:
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
答案 10 :(得分:1)
您在phpMyAdmin SQL部分中使用此命令:
GRANT SELECT , INSERT , UPDATE , DELETE ON phpmyadmin.* TO `pma`@`localhost` IDENTIFIED BY ''
答案 11 :(得分:1)
只需注销phpMyAdmin,这就是您要做的一切
答案 12 :(得分:0)
答案 13 :(得分:0)
我的数据库托管公司禁用了清除会话的选项,因此上述解决方案对我不起作用。 有效的是创建一个新用户并将该新用户权限授予数据库。 它对我有用。旧的用户名和密码仍然无效,但新创建的用户名和密码有效
答案 14 :(得分:0)
先尝试此操作-'清除缓存'。我遇到过同样的问题。我被指示清除缓存。奏效了。
答案 15 :(得分:0)
另一个选项是禁用此功能。如果我们仅允许读取服务器上的访问权限 禁用pmadb
$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;
答案 16 :(得分:0)
解决此问题的一种方法是在phpmyadmin中登录root用户,转到“用户”选项卡,查找并选择无法访问select和其他查询的特定用户。然后勾选所有复选框,然后单击go。现在,用户可以选择,更新和他们想要的任何东西。
答案 17 :(得分:0)
评论这条线对我有用:$ cfg ['Servers'] [$ i] ['pmadb'] ='phpmyadmin'; 但我在我的计算机上发现了几个config.inc.php文件,因为我有几个安装的MySQL和php哈哈。我通过在Xampp控制面板上单击Apache下的配置按钮然后注释掉该行来找到Xampp下的那个。 //
答案 18 :(得分:0)
我知道这可能听起来很荒谬,但我通过将数据库创建为“phpMyAdmin”而不是“phpmyadmin”(注意案例)解决了类似的问题 - 也许在Windows下有一些关于区分大小写的内容?