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
相关推荐
生活很暖很治愈5 小时前
Linux——基础IO&软硬链接
linux·ubuntu
Roc.Chang5 小时前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
Anesthesia丶6 小时前
Ubuntu20.04 升级 Ubuntu24.04 LTS
ubuntu
·云扬·7 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
符哥20089 小时前
Ubuntu 常用指令集大全(附实操实例)
数据库·ubuntu·postgresql
筵陌9 小时前
MySQL索引及其底层原理(上)
mysql
陌上花开缓缓归以9 小时前
linux mtd-utils使用源码分析(ubuntu测试版)
linux·arm开发·ubuntu
怣509 小时前
MySQL子查询零基础入门教程:从小白到上手(零基础入门版)
数据库·mysql
猫头虎10 小时前
基于信创openEuler系统安装部署OpenTeleDB开源数据库的实战教程
数据库·redis·sql·mysql·开源·nosql·database
Nandeska10 小时前
17、MySQL InnoDB ReplicaSet
数据库·mysql