我在 Windows 上安装了 WAMP,无论如何我似乎都无法在 PhpMyAdmin 中显示“权限”选项卡。阅读其他论坛讨论和文章,我做了以下工作:
- 检查以确保我以 root 身份登录
- 重新安装 wamp
- 重置我的mysql用户
- 对用户运行 mysql 检查
- 清除了我的缓存
通过这些测试,我得到了以下错误:Can't find file: 'user' (errno: 2)
. 谷歌搜索解决方案被证明是徒劳的。任何帮助,将不胜感激
更新:截图
谢谢
我在 Windows 上安装了 WAMP,无论如何我似乎都无法在 PhpMyAdmin 中显示“权限”选项卡。阅读其他论坛讨论和文章,我做了以下工作:
通过这些测试,我得到了以下错误:Can't find file: 'user' (errno: 2)
. 谷歌搜索解决方案被证明是徒劳的。任何帮助,将不胜感激
更新:截图
谢谢
如果您确定以 root 身份运行,请尝试清除 cookie 然后刷新。这,AFAIK,是一个特别影响谷歌浏览器的错误,但我不能肯定地说其他浏览器。请注意,您可以通过 Chrome 中的开发人员选项卡选择要删除的 cookie。您只需要删除 localhost cookie。
编辑:
不好了。所以你真的删除了“用户”表。我的建议是,您要么为数据库中的表找到 CREATE 脚本,要么mysql
完全重新安装(看起来,无论如何您都不会丢失太多数据库)。仅作记录:
mysql> USE mysql;
Database changed
mysql> SHOW TABLES;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.00 sec)
对于在使用 cPanel / WHM 时遇到此问题的人,cPanel 网站上链接到下面的帖子指出:
根据内部案例编号 37402,由于数据库映射功能,已删除通过 phpMyAdmin 添加/删除/重命名用户和数据库的功能。
这意味着用户/权限选项卡已从 cPanel 的 phpMyAdmin 版本中删除,听起来它不会回来。该帖子是从 2013 年 12 月开始的。
http://forums.cpanel.net/f354/phpmyadmin-users-tab-gone-367661.html
回复帖子的 cPanel 工作人员 cPanelMichael 推荐了两种选择。
你必须热爱进步。
我解决了这样的问题:
1)我通过这样的SQL查询设置了root密码:
root@localhost
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('YOURPASSWORDHERE');
2)config.inc.php
在您的 wamp/xampp 文件夹中搜索并更改auth_type
:
$cfg['Servers'][$i]['auth_type'] = 'SOMETHING';
-更改'SOMETHING'
为'cookie'
$cfg['Servers'][$i]['auth_type'] = 'cookie';
或 http 如果您愿意)-3) 清除/删除服务器的所有浏览器 cookie(通常查找 localhost 或 127.0.0.1 cookie)
4) 再次进入 phpyadmin 的网页 - 现在会提示您登录框(html 或 http - 取决于您设置的是 cookie 还是 http)
5)登录 - 你就完成了!:)突然出现“权限”/“用户”选项卡,退出按钮也突然出现!:)(在“小房子”旁边-左上)
PS:config.inc.php
包含更多有趣的设置:)
这个我花了很长时间才弄清楚,并且“root”登录没有帮助。
注销并重新登录:
这次我把root作为用户名
并使用与我的用户帐户相同的密码,我获得了访问权限。
这对我有用。
您能否进入Users
顶部的选项卡并通过单击“编辑权限”然后在“管理”下单击来编辑您的用户( root
、、、admin
等等) ?any
grant
您必须以“localhost” @phpmyadmin页面身份登录
授予“localhost”用户的权限有限
就像您以“root”身份登录而没有任何密码一样,您将拥有所有特权,然后您将在 phpmyadim 主页上看到用户选项卡
如果您不知道root密码,请按照root密码更改然后登录,它对我有用。
要更改 root 用户的 mysql 密码,请执行以下操作:
mysqld.nlm
mysqld_safe --skip-grant-tables --autoclose
mysql
这将带您进入 mysql 提示符。在此提示符下键入以下内容:(其中 ******** 是新密码,注意:需要单引号)
mysql> UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root';
mysql> FLUSH PRIVILEGES;
刷新权限将使更改立即生效。
您可以在 MySQL 3.22 及更高版本中使用 SET PASSWORD 语句:(其中 ******** 是新密码,注意:需要单引号)
shell> mysql -u root mysql
mysql> SET PASSWORD FOR root=PASSWORD('********');
另一种设置密码的方法是使用 mysqladmin 命令:(其中 ******** 是新密码)
shell> mysqladmin -u root password ********
shell> mysqladmin flush-privileges
真的,只有一件事对我有用。root
即使使用 AllowNoPassword 选项,使用空白密码也不起作用。请注意,您可以执行grant create(而不是grant all)来仅授予create table权限。我想要所有权限,因为它是为了我的本地开发。
我的解决方案,它将为您提供给定用户的所有权限(确保phpmyadmin
您的用户名可以登录):
sudo mysql
mysql> grant all on *.* to phpmyadmin@localhost;
mysql> flush privileges;
mysql> exit
然后从 PhpMyAdmin 注销,再次登录,您就拥有了所有权限。
对我来说,我已将此添加到“config.inc.php”中,并且效果很好:
$cfg['Servers'][$i]['DisableIS'] = true;