删除所有 MySQL 用户后如何访问 MySQL?

删除所有 MySQL 用户后如何访问 MySQL?

我错误地删除了所有用户,现在无法访问 MySQL。我搜索了太多,但无法访问 MySQL 我无法删除它 && 再次重新安装我从数据库 MySQL 中的用户表中删除所有用户。

答案1

如何恢复root用户

停止 MySQL 并编辑/etc/my.cnf以包含skip_grant_tables

[mysqld]
skip_grant_tables

然后使用 重新启动 MySQL /etc/init.d/mysqld restart

启动 MySQL CLI:

[root@test ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

然后输入以下查询(替换 NEW_PASSWORD_HERE):

插入`mysql`.`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`) 值('%'、'root'、密码('NEW_PASSWORD_HERE')、'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');

您现在拥有一个可以正常工作的 root 用户。

恢复

现在您可以访问您的数据库,请从备份中恢复
(您有备份,是吗?

相关内容