如何重置MySQL数据库的root用户密码

问题
如何重置MySQL数据库的root用户密码

解决方案
当忘记MySQL的root密码的时候,可以进行如下的步骤重新设置MySQL的root密码:

■■Linux的平台■■

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。

2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。

3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.

mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> UPDATE user SET Password = password ( ‘new-password‘ ) WHERE User = ‘root‘ ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0

mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye

5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。

6.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

7.恢复服务器的正常工作状态
将步骤一中的操作逆向操作。恢复服务器的工作状态。

■■FreeBSD的平台■■

FreeBSD上,启动脚本的路径和和linux有所不同
另外,默认不存在my.cnf文件
修改root密码的方法如下:

首先停止当前mysql
/usr/local/etc/rc.d/mysql-server.sh stop

然后用skip-grant-table的方式启动mysql
执行/usr/local/bin/safe_mysqld --user=mysql --datadir=/var/db/mysql --skip-grant-table &

这个时候登陆mysql将处于无验证的状态了
后续操作同Linux平台上的操作方法。

■■Windows的平台■■
首先停止mysql的服务
修改my.ini文件,位置D:\hosting\System\mysql\bin\my.ini
在[mysqld]的段中加上一句:skip-grant-tables
启动mysql服务,修改密码的sql语句与linux平台一样

原文地址:https://www.cnblogs.com/sfqas/p/12181834.html

时间: 2024-08-27 12:25:24

如何重置MySQL数据库的root用户密码的相关文章

linux系统下修改mysql 数据库的root用户密码和开启远程用户

首先进入终端 1.输入以下命令显示mysql进程号 ps -A |grep -i mysql 2.输入以下命令kill掉上面显示的进程 kill -9 进程号1 进程号2 3.输入以下命令进入mysql安全模式 mysqld_safe --skip-grant-tables & 4.输入以下命令修改密码,注意末尾的分号必须有,每输入一行就回车 use mysql; update user set password = PASSWORD('你的密码') where user = 'root'; e

Mysql(Linux服务器)root用户密码忘记重置方法

MySQL是非常常见的开源数据库,使用者众多,若是不小心忘记了安装在服务器的mysql密码,无法登陆,应该如何重置呢?方法很简单,现在和大家分享下.(系统环境:CentOs 6.5  软件:Mysql) 1.首先确认服务器是处于安全的状态,也就是没有人能够任意地连接MySQL数据库.因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下. 2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-

Mysql常用命令(1) 连接Mysql数据库及修改用户密码

我还在在Linux下测试,我用的是centos,话不多说,启动控制台,输入命令: [Shell] 纯文本查看 复制代码 ? 001 mysql -h localhost -u root -p 如下图<ignore_js_op> mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 退出输入exit回车即可 修改用户密码:mysqladmin命令格式: [Plain Text] 纯文本查看 复制代码 ? 001 mysqladmin -u 用户名 -p旧密码 password

点滴记录——Linux Mysql数据库误删root用户

转载请说明出处:http://blog.csdn.net/cywosp/article/details/42145779 在Linux中有时安装Mysql会出现没有root用户的状况,或者说root账户被从mysql.user表中误删除,这样就导致很多权限无法控制.解决办法是重新创建root用户,并授予所有权限,具体方法如下: 1. 修改/etc/my.conf文件,添加skip-grant-tables [mysqld] datadir=/var/lib/mysql socket=/var/l

MySQL重置root用户密码的方法

本教程适用于采用Win2003.WinXP操作系统的迅美VPS和云主机产品. 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策. 网站程序或MySQL管理软件连接MySQL服务器时密码错误,会出现"1045 - Access denied for user 'root'@'localhost'(using password:YES)"的错误提示,如下图: 当确认已经忘记MySQL密码,则可以通过以下方案重置root用户密码

Linux/Centos 重置Mysql root用户密码

有时候你可能会忘记MySQL的root用户密码,下面教你们重置MySQL root用户密码 手动修改 1.停止MySQL服务 执行:/etc/init.d/mysql stop,你的机器上也不一定是/etc/init.d/mysql也可能是/etc/init.d/mysqld 反正就是停数据库,用kill杀进程号也可以ps –ef | grep mysql 然后kill -9 mysql 的进程号 2.跳过验证启动MySQL /usr/local/mysql/bin/mysqld_safe --

XAMPP笔记之重置MySQL/MariaDB Root用户密码

目前在使用MYSQL,在MAC下安装使用的是XAMPP 4.5.2,需要重置MySQL/MariaDB Root用户密码.遇到一个小问题记录于下: 1,根据官方指导(http://localhost/dashboard/docs/reset-mysql-password.html)处的提示,运行如下命令: (1)先启动MYSQL SERVER,这个没有问题: (2)打开终端,切换到XAMPP的默认安装位置,在我的MAC上是 /Applications/XAMPP/xamppfiles/bin ,

MySQL重置root用户密码的方法【亲测可用】

1. 报错截图 2.当确认已经忘记MySQL密码,则可以通过以下方案重置root用户密码.双击打开C:\Program Files\MySQL\MySQL Server 5.1\my.ini文件,如下图: 3. 点击“记事本”软件顶部的“编辑”,再选择“查找”,在“查找内容”处输入[mysqld],并点击“查找下一个”,它会自动转到[mysqld]字段行.在下面增加一行skip-grant-tables并保存,如下图:[mysql_5.6 没有my.ini文件,可以将my-default.ini

Windows下修改mysql root用户密码

忘记mysql的root密码是一件让人头疼的问题. 下面理一下Windows7下面重置root密码的方法. 1.打开一个命令行窗口:这儿必须注意,要使用管理员身份打开: 2.关闭mysql服务:net stop mysql 3.运行 mysqld --skip-grant-tables.该命令是让mysql启动的时候跳过授权表,这儿要注意的是网上很多地方都是 mysqld-nt,但新版本已经被mysqld取代了. 4.重开一个命令行窗口(用管理员身份打开), 运行命令: mysql -u roo