mysql8.0 删除用户_mysql8.0误删root用户及设置用户和密码解决方案

在安装MySQL8.0后误删root用户,通过查看/etc/mysql/debian.cnf文件获取系统登陆凭证。登陆后刷新权限,删除旧root用户,然后创建新用户并授权。新版本创建用户与授权需分开操作,完成后验证密码登陆成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说下背景,最近阿里云618活动云服务器比较便宜,就买了一个来玩,在安装mysql之后,首次创建用户没有创建密码,导致后面没法创建密码,并且谁都可以无密码登陆数据库,然后我各种尝试的时候又误删了root用户,导致后面一直登陆不上,也上网查过资料,基本都是说去/etc/my.cnf文件中添加一行skip-grant-tables代码来使用无用户名无密码模式登陆,但是在我本地的这个文件跟网上描述的完全不同,因为我这个文件中是空的,不像他们说的有许多内容。当然我也照着这个方法去尝试过,不成功。这可能跟我本地环境有关吧,我本地环境都是最新版本的,系统:Ubuntu20.04 64位,mysql:8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)),我安装的也是用apt-get install mysql-server命令安装的。

现在说解决办法。打开文件/etc/mysql/debian.cnf,在这个文件中有登陆mysql的用户名和方法(即mysql_upgrade下的用户名和密码),这个应该是系统提供的,反正就用他们登陆就对了。

c0e3e8473192

登陆进去之后发现root果然是被删掉了的。

c0e3e8473192

先刷新权限:flush privileges;再drop user root;再刷新权限flush privileges;我多次刷新权限和drop root用户是为了保险起见,可以尝试不再删除root用户,但是刷新权限命令不可省。接下来就可以创建用户了,注意,mysql8.0和之前版本在创建用户时不一样(之前版本创建用户和授权在一个sql里):先创建用户名和密码:create user 'name'@'localhost' identified by 'password';(请自行将用户名和密码替换进去),再授权:grant all privileges on *.* to 'name'@'localhost';(请自行将用户名替换进去)。再查看发现root用户已经添加进去了。

c0e3e8473192

出来验证必须密码登陆,大功告成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值