急急急!!!用navicat for mysql不小心将用户全部删除掉了,然后就连接不上了,求高手帮忙解决!!

急急急!!!用navicat for mysql不小心将用户全部删除掉了,然后就连接不上了,求高手帮忙解决!!,第1张

能连上服务器吗? 下面是百度提供的答案

mysql user表root 用户误删除后恢复root用户

方法/步骤

1、停止mysql服务;在mysql安装目录下找到my.ini;在my.ini中找到以下片段[mysqld];另起一行加入代码:skip-grant-tables 并保存

2、启动mysql服务,并登录mysql(无用户名和密码);找到user表加入root用户INSERT INTO user

(Host,User,Password) VALUES( 'localhost ', 'root ',password( '123456

'))

3、root用户设置权限update user set Host='localhost',select_priv='y',

insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y'

where user='root'commit

4、把my.ini刚才加入的那行删除并重启服务

5、用root用户登录,OK!

因为mysql把mysql.user加载进内存中的,每次验证用户的连接都是调用这些缓存中的信息的.

你删除用户后,如果mysql服务器没重新启动过,或没手工重新让内存加载mysql.user(没有执行flush privileges),则你已删除的用户还可以用来连接(因为这些信息还保存在内存缓存里,而没有刷新成最新mysql.user系统表里面的信息).

解决办法:

方法1:

删除用户后,继续执行 flush privileges,重新刷新缓存中的用户信息.

方法2:

重新启动mysql服务.

我遇到过这样的问题:按钮变灰色,那是因为我所建的表中没有主键。

至于你用MySQL command line client进行删除时,出现的错误是因为没有选择你所建的那张表的数据库。你可以直接在MySQL Administrator里面的那张表进行删除,虽然按钮变成灰色了。但是你可以是用sql语句进行删除啊、


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6129627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存