错误地,我更改了用户&root;' root的所有权限。在我的MySQL数据库中。该用户甚至没有一个特权。现在,如果我使用其他用户登录,我只能访问一个数据库。但我有近25个数据库用' root'用户。如果我想访问所有其他数据库,我需要再次为root用户授予权限,但不允许所有其他用户执行GRANT语句。那么有没有办法再次为root用户授予权限。我的数据库服务器中包含的所有其他数据库非常重要。所以请帮助解决这个问题。
答案 0 :(得分:1)
这适用于 XAMPP
以root用户身份登录,然后运行以下MySQL命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
如果您收到错误,请尝试以下操作:
使用--skip-grant-tables
选项重启mysql。
的my.ini
[mysqld]
skip-grant-tables
skip-networking
然后运行 打开命令提示符窗口>>命令提示符
net stop mysql (wait 10 seconds)
net start mysql
用mysql连接到mysqld服务器(即没有-p选项, 可能不需要用户名。)
cd C:\xampp\mysql\bin
在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','root','','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');