MYSQL忘了ROOT密码

本文介绍如何在忘记MySQL数据库ROOT密码的情况下,通过特定步骤在UNIX和Windows环境下重置密码的方法。

为了给G准备论文,想直接用一个项目。 那个项目原来用的数据库是ORACLE,但他的机器配置低,内存只有256M,跑ORALCE了太吃力了。于是就想把数据库部分移植到MYSQL。自己先 做实验,年前就装了,现在想做移植,ROOT密码给忘了。倒是可以重装,可那一定不是最佳解决方案。

 

UNIX版
1.先停掉mysql
# /etc/rc.d/init.d/mysql stop

2.以--skip-grant-table 的參數啟動mysql
# mysql_safe --skip-grant-table&

3. 更改root 密碼 123456
# mysql mysql
mysql> UPDATE user SET password=password('123456') WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> exit
4.停掉mysql再重跑
killall mysqld
#/etc/rc.d/init.d/mysqld
# mysql -u root -p
Enter password:
Windows版
首先,停止Mysql服务(net stop mysql),是必须
shell>mysqld-nt --skip-grant
不要关闭此窗口,然后打开新的CMD窗口

shell>mysql
mysql>use mysql
mysql>update user set password=password('newpassword') where user='root';
mysql>q
shell>
关闭mysqld-nt --skip-grant这个CMD窗口
启动Mysql服务即可。

关闭mysqld-nt --skip-grant窗口后,Mysql服务并没停止
杀掉进程中的mysqld-nt进程后,重启mysql即可。
### 如何重置 MySQL root 用户密码 #### 停止 MySQL 服务 为了安全地更改 `root` 用户的密码,需要先停止 MySQL 服务。这可以通过命令行来完成: 对于 Linux 系统: ```bash sudo systemctl stop mysql ``` 对于 macOS 使用 Homebrew 安装的情况: ```bash brew services stop mysql ``` 对于 Windows 系统,则可以在服务管理器中找到 MySQL 并停止它,或者通过命令提示符执行: ```cmd net stop mysql ``` [^1] #### 启动 MySQL 不带权限验证 启动 MySQL 数据库时跳过权限表加载可以让用户无需提供现有凭证即可访问服务器。此操作允许管理员绕过当前的身份认证机制。 在终端输入如下指令(Linux 和 macOS): ```bash mysqld_safe --skip-grant-tables & ``` Windows 上则需打开命令提示符窗口并运行 mysqld.exe 文件所在目录下的相应命令: ```cmd mysqld --skip-grant-tables ``` #### 登录到 MySQL 控制台 此时可以直接连接至 MySQL 实例而不需要任何密码: ```bash mysql -u root ``` [^2] #### 修改 root 用户密码 进入 MySQL 提示符后,更新 `root` 用户的新密码。请注意,在较新的版本中,字段名已更改为 authentication_string 而不是 password: 适用于 MySQL 5.7 及以上版本: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; EXIT; ``` 如果是低于 5.7 版本的话,请使用下面的方法代替: ```sql UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; QUIT; ``` #### 重启 MySQL 服务 最后一步就是正常方式下重新启动 MySQL 服务,并尝试用刚刚设置好的新密码登录。 ```bash sudo systemctl start mysql ``` 或是在 Windows 中再次利用服务管理工具开启 MySQL 或者命令行里键入: ```cmd net start mysql ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值