新安装ubuntu,无法切换至root用户下

博主安装系统后,用su - root命令切换root用户时认证失败,经了解是Ubuntu新安装后root用户无密码所致。文中给出解决办法,输入特定命令,按提示输入两次密码,更改成功后,用su - root输入新密码即可进入root用户。

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

刚安装完成系统之后,我使用自己添加的用户进行登录,使用su - root命令切换至root用户时候。错误如下所示:

$ su - root
Password: 

su: Authentication failure

尽管提示输入密码,单输入密码之后仍然是Authentication failure,刚刚开始我以为是自己忘记了密码,后来从网上了解是ubuntu新安装后root用户没有密码的原因。

下面我们看看怎么操作。

解决此问题输入如下命令:

$ sudo passwd root
输入新的 UNIX 口令: <输入新密码> 
重新输入新的 UNIX 口令:<重新输入新密码>

然后按照提示输入两次密码,一次为新密码,一次为确认密码,

等到提示:

passwd: password updated successfully

看着这句话说明密码更改成功了,然后使用su - root后输入刚刚新修改的密码即可 进入root用户。

希望能够帮助到你!

### 如何在 Ubuntu 上安 MySQL 并修改 Root 用户密码 #### 安 MySQL 要在 Ubuntu 上安 MySQL,可以按照以下方法执行: 1. 更新包管理器并安最新版本的 MySQL: ```bash sudo apt update && sudo apt install mysql-server -y ``` 2. 确认 MySQL 服务已启动: ```bash systemctl status mysql.service ``` 如果未运行,则可以通过 `sudo systemctl start mysql` 启动。 --- #### 修改 Root 密码的具体步骤 以下是基于不同引用中的描述整理出来的完整流程[^1][^2]: 1. **登录到 MySQL 数据库** 使用操作系统上的 root 账户或者通过默认配置文件中指定的维护账户登录数据库。如果存在默认用户(如 debian-sys-maint),则可以直接使用它来访问 MySQL。 ```bash mysql -u debian-sys-maint -p ``` 输入对应的密码完成验证。 2. **切换至 MySQL 数据库** 进入 MySQL 的元数据存储区域以便于编辑权限表单。 ```sql USE mysql; SHOW COLUMNS FROM USER; ``` 3. **更新认证字符串字段** 找到目标用户的记录,并设置新的加密方式以及更改其密码哈希值。 ```sql UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; -- 刷新授权缓存使改动生效 ``` 4. **调整插件类型 (可选)** 对某些环境而言可能还需要改变根账号所使用的身份验证机制为传统模式而非现代更安全但兼容性较差的方式之一即 native password 插件形式。 ```sql UPDATE user SET plugin="mysql_native_password" WHERE User='root'; SELECT user,plugin FROM user; ``` 5. **重启 MySQL 服务** 应用上述变更之后建议重新加载守护进程以确保一切正常运作无误。 ```bash sudo systemctl restart mysql ``` 6. **测试连接** 尝试利用刚刚设定的新凭证再次尝试登陆确认成功与否。 ```bash mysql -uroot -p 新密码 ``` 对于特定情况下的额外注意事项比如绑定地址放开远程访问等问题也可参照相关文档说明处理[^4]. --- ```python # Python 示例脚本用于自动化部分过程(仅作演示用途) import pymysql.cursors connection = pymysql.connect(host='localhost', user='debian-sys-maint', passwd='your_maint_pass_here') try: with connection.cursor() as cursor: sql_update_pwd = """UPDATE mysql.user SET authentication_string=PASSWORD(%s), plugin=%s WHERE User=%s""" val = ("new_root_passwd", "mysql_native_password","root") cursor.execute(sql_update_pwd,val) finally: connection.commit() connection.close() print("Root Password Updated Successfully!") ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值