mysql:Windows修改MySQL数据库密码(修改或忘记密码)

本文详细介绍了在Windows环境下,如何使用三种方法修改MySQL的root密码。包括使用SETPASSWORD命令、mysqladmin工具以及直接编辑user表。每种方法都有具体的操作步骤,适合在忘记密码或者需要更换密码时参考。

今天练习远程访问数据库时,为了方便访问,就想着把数据库密码改为统一的,以后我们也会经常遇到MySQL需要修改密码的情况,比如密码太简单、忘记密码等等。在这里我就借鉴其他人的方法总结几种修改MySQL密码的方法。

我就以实际操作修改root密码为例,操作系统为windows
这里我们需要注意的是,修改MySQL是需要MySQL中的root权限,一般用户是无法更改的,除非请求管理员。

修改密码的三种简单方法

第一种用SET PASSWORD命令

1.打开cmd进入MySQL的bin目录;(如我的路径是F:MySQLmysql-5.7.24-winx64in)

2.通过输入命令 mysql -u root -p 指定root用户登录MySQL,输入后回车会提示输入密码,输入我们原来的密码然后回车。

3.修改MySQL的root用户密码,格式:mysql> set password for 用户名@localhost = password(‘新密码’);
例如(上面例子将用户root的密码更改为root):mysql> set password for root@localhost = password(‘root’);

4.退出mysql重新登录,输入新密码root登录就可以了;
在这里插入图片描述

第二种 用mysqladmin修改密码

1.打开cmd进入MySQL的bin目录;(如我的路径是F:MySQLmysql-5.7.24-winx64in)

2.修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码; password 新密码
例如(第一种方法中我将密码改成了root,这里再改回123):
mysqladmin -uroot -proot password 123(这里一定要注意-uroot和 -proot是整体,不要写成-u root -p root,我亲自验证过他们直接加-u和root间可以加空格,但是会有警告出现,所以就不要加空格了)

重新登录,输入新密码123就ok了;
在这里插入图片描述

第三种用UPDATE直接编辑user表

首先声明,这种方法我测试了半个小时也没有成功,但是网上查询很多人都成功了,感兴趣的话可以尝试一下。下面是步骤
首先还是通过cmd 登录MySQL
连接权限数据库: use mysql;
改密码:update user set password=password(“123”) where user=“root”;(别忘了最后加分号) 。
刷新权限(必须步骤):flush privileges;

忘记root密码情况

1.关闭正在运行的MySQL服务。打开cmd进入MySQL的bin目录;

2.输入mysqld --skip-grant-tables 回车。(–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。)

3.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
连接权限数据库: use mysql; 。
4.改密码:update user set password=password(“root”) where user=“root”;(别忘了最后加分号) 。
刷新权限(必须步骤):flush privileges; 。
退出 quit;
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;

在这里插入图片描述
对mysql钻研了几个小时,发现输入命令还是比较简单的,只要记住一些语句就可以在DOS窗口随意操作我们的数据库了。

忘记 MySQL 数据库密码时,可按以下方法修改密码: #### Windows 系统 - **关闭数据库服务**:以管理员身份打开 cmd,使用 `net stop mysql` 命令关闭 Mysql 服务[^3]。 - **跳过密码授权登录**:在 cmd 中执行 `mysqld --console --skip-grant-tables --shared-memory`,跳过密码授权登录[^3]。 - **重置密码**:再以管理员身份打开一个 cmd 窗口,依次执行以下命令: ```sql mysql use mysql -- Mysql 版本在 5.7 及以上 update user set password=password('新密码') where user='root' and host='localhost'; -- Mysql 版本在 5.7 及以下 update user set authentication_string=password('新密码') where user='root' and host='localhost'; flush privileges quit ``` - **验证密码**:使用 `mysql -u root -p` 命令,输入新密码重新登录 mysql 验证。若能成功登录,则说明密码修改成功[^3]。 #### Linux 系统 - **重启并无密码登录**:执行 `systemctl restart mysqld` 重启 mysql,并使用无密码进行登录[^4]。 - **修改密码**:参考上述 Windows 系统中修改密码的 SQL 命令进行密码修改[^3][^4]。 - **恢复配置并重启服务**:退出 mysql 控制台,修改 `/etc/my.cnf` 文件,删除新加的 `skip-grant-tables` 命令,并重启 mysql 服务[^4]。 - **验证密码**:使用新密码登录 mysql 进行验证[^4]。 ### 其他步骤补充 也可在开一个 cmd 窗口后执行 `mysql -uroot -p`,按下回车,提示输入密码时不输入密码直接再次回车键,然后重新加载权限表,确保当前的用户权限设置立即生效,接着进行密码修改操作[^2]。还可以执行 `./mysql` 进库,将 root 密码设置为空,命令为 `update mysql.user set authentication_string='' WHERE user='root' and host='localhost'` [^5]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值