MySQL 8.0 误删了root用户怎么办

MySQL 8.0 误删了root用户怎么办

修改配置文件

修改配置文件,让其可以无账号登录

默认的文件为: /etc/my.cnf

添加:skip-grant-tables

重启服务

复制代码
service mysql restart

添加用户信息

复制代码
use mysql;

添加用户

复制代码
insert into user(User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values('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;

去掉配置文件的内容,重启服务

重新登录,使用root账号,设置密码。

复制代码
mysql

use mysql;
复制代码
alter user 'root'@'localhost' identified with mysql_native_password by 'root@12345';

授权远程连接

默认情况下,mysql用户是不允许远程连接访问数据库的,只能在本地访问。

配置root用户开放远程登陆

复制代码
mysql> SHOW DATABASES;

mysql> USE mysql;

mysql> SELECT 'host' FROM user WHERE user='root'; #查看user表的host值

mysql> UPDATE user SET host = '%' WHERE user ='root; #修改host值

mysql> flush privileges; #刷新MySQL的系统权限相关表
posted @   牛奔  阅读(2296)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示