我错误地删除了所有用户,现在无法访问 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 用户。
恢复
现在您可以访问您的数据库,请从备份中恢复
(您做有备份,是吗?