Ubuntu MySql没有初始密码,重新设置root密码

问题出现的场景

在安装MySql的过程中,由于版本的问题,在安装的过程中并未让设置密码,所以就需要我们去自己设置密码

可能存在两种情况:

1.root 无密码登录,也就是输入什么密码都可以

2.输入什么密码都错误

运行下面代码,如果成功进入了数据库,就说明是第一种情况:无密码登录,如果报错,就是第二种情况

bash 复制代码
mysql -u root

解决办法

情况一

直接重新设置新密码就可以

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;

然后重启数据库

bash 复制代码
systemctl restart mysql

情况二

从debian.cnf中找到安装时生成的用户名和密码

bash 复制代码
cat /etc/mysql/debian.cnf


userpassword就是安装时生成的用户名和密码,其中密码是随机生成的

然后,用这个userpassword登录mysql

bash 复制代码
mysql -u debian-sys-maint -p

下面就是进行修改密码的操作

首先,使用叫做mysql的数据库

sql 复制代码
use mysql

然后修改密码,老版本的mysql可以使用下面的指令:

sql 复制代码
update mysql.user set authentication_string=password("你的密码") where user="root" and Host ="localhost";

而较新版本的 MySQL 中,password() 函数已经被移除了。从 MySQL 5.7.6 开始,password() 函数不再被支持,对于 MySQL 5.7.6 及以上版本,应该使用以下命令来修改 root 密码:

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

接下来修改plugin字段内容为mysql_native_password

sql 复制代码
update user set plugin="mysql_native_password";

重新加载权限表

sql 复制代码
flush privileges;

最后退出,并重启数据库,就可以修改密码就完成了

bash 复制代码
systemctl restart mysql
相关推荐
别叫我老干部27 分钟前
一键给整个库造测试数据:外键、约束一个都不能少
后端·mysql
成为你的宁宁1 小时前
【K8S使用Helm部署MySQL一主多从并集成Prometheus监控】
mysql·kubernetes·prometheus
钝挫力PROGRAMER1 小时前
Kylin V10 安装 MySQL 8.0 后无法通过 127.0.0.1 连接
mysql·kylin
zzqssliu1 小时前
Next.js图片自适应压缩:跨境站点图片加载提速代码方案
linux·javascript·ubuntu
干掉乔治的猪1 小时前
【如何恢复 Ubuntu 引导分区:Windows11 + Ubuntu22.04 双系统 GRUB 修复踩坑记录】
linux·ubuntu·grub·修复·双系统
l齐天2 小时前
Ubuntu 中编译 Go + PBC 程序为 Windows 11 可运行文件
windows·ubuntu·golang
白露与泡影2 小时前
深入理解MySQL事务隔离级别:MVCC机制与Next-Key Lock如何解决幻读问题?
数据库·mysql
Gong-Yu2 小时前
MySQL数据库运维——性能优化进阶2️⃣
运维·数据库·mysql·性能优化
biubiubiu07062 小时前
Ubuntu中3种定时任务
数据库·ubuntu·postgresql
峥无2 小时前
MySQL 最全数据类型详解(数值/字符串/日期/枚举集合)
数据库·mysql