ubuntu mysql密码问题

文章讲述了在安装MySQLmydql过程中,作者遇到误导关于配置密码的步骤,实际上需要sudo登录进行密码设置,导致了额外一小时的时间浪费,提醒读者注意这一常见误区。

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

不知道是版本还是什么原因,很多博客都说安装mydql过程中有提示配置密码,结果我卡着卡了半天,怎么都登录不了

最后发现sudo登录一下,会让你配置密码。。浪费了一个小时,望周知

### 如何重置 UbuntuMySQL Root 用户密码 #### 使用 Debian 自带账户重置密码 对于 Ubuntu 系统而言,存在一种特别的方法可以利用系统的内置账户来访问并重置 MySQL 的 root 密码。这得益于系统预设的一个特殊用户,该用户允许管理员无需知道当前的 root 密码就能进入 MySQL 数据库执行必要的操作[^1]。 ```bash sudo mysql -u debian-sys-maint -p$(cat /etc/mysql/debian.cnf | grep password | head -n 1 | awk '{print $3}') ``` 上述命令会读取 `/etc/mysql/debian.cnf` 文件中的维护者密码,并自动将其作为参数传递给 `mysql` 客户端工具用于认证过程。 #### 修改 root 密码的方式一:直接登录后更改 如果从未设置过 root 密码,则可以直接通过超级用户权限连接到 MySQL: ```bash sudo mysql ``` 一旦成功进入了 MySQL 控制台,就可以按照如下 SQL 命令更新 root 用户的密码了: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; EXIT; ``` 这种方式适用于那些尚未设定任何安全措施的新安装环境[^2]。 #### 修改 root 密码的方式二:跳过权限表启动服务 当遇到无法正常登录的情况时,可以选择绕过授权表的方式来重启 MySQL 服务。具体做法是在启动 MySQL 进程的时候加上特定选项让其忽略掉用户的权限校验逻辑: ```bash sudo systemctl stop mysql.service sudo mysqld_safe --skip-grant-tables & ``` 之后便能无阻碍地以任意身份登入数据库管理系统,在此状态下同样可以通过前面提到过的 ALTER USER 或 UPDATE user 表语句完成密码变更工作。不过需要注意的是,在这种模式下运行的服务是不安全的,因此建议尽快恢复正常的安全配置并重新加载权限缓存[^3]。 #### 验证新的 root 密码 无论采用哪种方式进行密码恢复或修改,最后都应测试一下新设置的有效性: ```bash mysql -uroot -p Enter password: (输入刚刚设置的新密码) ``` 确认能够顺利登陆即表示整个流程顺利完成。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值