MySQL修改root密码的各种方法整理

整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');


方法2:用mysqladmin

  mysqladmin -u root password "newpass"


  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"


方法3: 用UPDATE直接编辑user表

  
mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;


在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;


linux
### 如何在 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!") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值