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
相关推荐
L73S371 小时前
MySQL数据类型
mysql·考研·学习方法
yzhSWJ2 小时前
MySQL 中查询 VARCHAR 类型 JSON 数据的
mysql·adb·json
java1234_小锋5 小时前
MySQL中有哪几种锁?
数据库·mysql
zybishe7 小时前
免费送源码:Java+ssm+MySQL 酒店预订管理系统的设计与实现 计算机毕业设计原创定制
java·大数据·python·mysql·微信小程序·php·课程设计
湮雨塵飛8 小时前
解决使用VsCode远程ssh连接虚拟机ubuntu需要重复输入密码
vscode·ubuntu·ssh
王军新9 小时前
MySQL索引介绍
数据库·mysql
碎忆9 小时前
在VMware中安装虚拟机Ubuntu
linux·ubuntu
努力奋斗的小杨9 小时前
学习MySQL的第八天
数据库·笔记·学习·mysql·navicat
农民小飞侠9 小时前
ubuntu 安装pyllama教程
linux·python·ubuntu
Another Iso9 小时前
MySQL 事务的优先级
数据库·mysql