需要我的MySQL用户的所有权利

时间:2015-07-29 14:52:58

标签: mysql permissions

当我突然说我没有权利时,我试图建立一个新的数据库。我登录的用户是<!DOCTYPE html> <html> <head> <title>D3app</title> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <%= csrf_meta_tags %> <%= yield(:head) %> </head> <body> <%= yield %> <%= yield(:body) %> </body> </html> 。我尝试使用root权限授予所有权限,但我的用户没有权限执行它。我甚至试过grant all正如我所料,我没有权利。这是我的本地测试系统,我已经完成了设置,我记得我还没有创建任何其他用户。我完全迷失了,不知道在哪里看。需要帮忙 !

1 个答案:

答案 0 :(得分:1)

停止mysqld并使用--skip-grant-tables选项重新启动它。 只用:mysql连接到mysqld服务器(即没有-p选项,可能不需要用户名)。 在mysql客户端中发出以下命令:

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';

FLUSH PRIVILEGES;

之后,您应该可以在上运行GRANT ALL。 TO&#39; admin&#39; @&#39; localhost&#39 ;;并让它发挥作用。

停止MySQL服务 运行mysqld_safe --skip-grant-tables&amp; 输入mysql -u root -p并按Enter键。 输入您的密码 在mysql命令行输入:

use mysql;

然后执行此查询:

insert into `user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) 
values('localhost','admin','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');