请帮忙!...
我面临一个巨大的问题..我可以通过 MySQL workbench 访问 mysql 数据库,但我的一个同事意外地继续用户和权限并撤销了某事......他以为他正在删除另一个用户。
现在我无法访问 mysql workbench 上的数据库,并且我的所有权限都消失了....我能够通过 mysql -h 127.0.0.1 -u root -p 在 bash 上登录 mysql
但我似乎无法添加或恢复我的权限……我正在通过终端上的 root 登录……而且我的网站因此关闭了。测试 1:
mysql> show grants for 'root';
ERROR 1141 (42000): There is no such grant defined for user 'root'
on host '%'
mysql> SHOW GRANTS FOR 'root'@'localhost';
+--------------------------------------------------------------+
| Grants for root@localhost |
+--------------------------------------------------------------+
| GRANT USAGE ON . TO 'root'@'localhost' |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------+
2 rows in set (0.00 sec)
**test 2:
mysql> select host, user from mysql.user;
ERROR 1142 (42000): SELECT command denied to user 'root'@'localhost' for table 'user'
ERROR 1142 (42000): SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT, REFEREN CES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER command denied to user 'root' @'localhost' for table '*'**
看来我也没有什么特权。
mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
ERROR 1227 (42000): Access denied; you need (at least one of) the
CREATE USER privilege(s) for this operation
请帮忙,我无法访问我的数据库,而且我的网站已关闭。
答案1
喜欢mysql 手动重置权限(将 URL 调整为服务器版本)。文本文件中需要的是ALTER USER
/,因为您的 root 用户已被删除。还建议为您信任的同事创建另一个用户来代替 root 用户。SET PASSWORD
CREATE USER root@localhost IDENTIFIED BY "password"; GRANT ALL ON *.* to root@localhost WITH GRANT OPTION