MySql数据库的root用户被删除,怎么恢复

MySql数据库的root用户被删除,怎么恢复,第1张

第一步:停止MySQL的服务:net stop mysql

第二步:命令行进入到MySQL的安装目录bin;

第三步:跳过权限检查启动MySQL:mysqld ––skip-grant-tables

第四步:重新打开一个命令窗口。

mysql>use mysql

mysql>insert into user set user='root',ssl_cipher=''x509_issuer='',x509_subject=''

mysql>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'

mysql>exit

第五步:杀死MySQL进程,重启Mysql服务:

mysqld --initialize

net start mysql

mac系统mysql的root用户删除后的解决办法:

1、停止数据库,并在mysql配置文件my.cnf中添加skip-grant-tables参数到[mysqld]配置块中并执行以下命令:

./mysql.server stop

添加参数如下图:

2、启动数据库,添加root用户,并授予权限,启动数据库后,可以用密码登录,并插入一条添加用户名为root的命令,命令执行如下:

1)./mysql.server start

2)./mysql -p

3) insert into user set user=’root’,ssl_cipher=”,x509_issuer=”,x509_subject=”

添加完成后,对该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'

执行完成后,执行quit 退出数据库。

3、重启数据库并更新root密码

执行完添加与更新root用户权限后,可以使用命令:

./mysql.server restart  来重启数据库

利用./mysql -p 命令无密码登陆进入数据库,执行以下命令:

update mysql.user  set password=password('newpassword') where user='root'

#将password()中的newpassword字符更改为你自己的密码

执行完成后,记得刷新权限:

flush privileges

4、注释掉skip-grant-tables参数,重启数据库

权限刷新完成后,修改mysql的配置文件my.cnf,注释或删除掉添加的skip-grant-tables参数,然后利用命令:

./mysql.server restart  重启数据库即可


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存