ubuntu mysql root 重置密码

本文详述了遇到MySQL root用户密码问题时的解决步骤,包括修改配置文件跳过密码验证,重置密码,解除只读模式及重启服务等关键操作。

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

今天想用mysql的root用户新建一个数据库,但是输入密码后,提示: Access denied for user 'root'@'localhost' (using password: YES) 。 百度搜索一下,解决方案就是重置root用户密码。

  1. 按照网上说的,修改mysql配置文件,我的文件路径为: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 。在文件的模式为添加一句话:skip-grant-tables,使mysql登录跳过密码验证。
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
skip-grant-tables
  1. 修改完成后,重启mysql服务:service mysql restart,使配置生效。
  2. 重新登录mysql : mysql -u root -p ,在弹出输入密码命令行后,直接回车。没问题,成功登录进mysql。输入修改root用户密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootadmin'。此时我又碰到问题了,Access denied for user 'root'@'localhost' (using password: NO) 。重新百度,解决方法是把mysql的只读模式去掉:
mysql> set global read_only=0;
mysql>flush privileges;
  1. 重新修改用户密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootadmin' ,此时提示成功。
  2. 再把mysql只读属性开启,退出mysql。```bash
mysql> set global read_only=1;
mysql>flush privileges;
mysql>exit;
  1. 把mysql密码验证打开,sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 。把文件末尾注释掉。
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
#skip-grant-tables

7.重启mysql服务service mysql restart,并用新密码登录root。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值