重置MYSQL 中root 密码

Linux平台:
1、首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。

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

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

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

4、登录并修改MySQL的root密码

# mysql -u root

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 ( ‘newpassword‘ ) 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的登录设置修改回来
# vim  /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。

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

7、恢复服务器的正常工作状态
在[mysqld]的段中删除刚才添加的:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
保存并且退出。

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平台一样

时间: 2024-12-31 03:46:51

重置MYSQL 中root 密码的相关文章

重置mysql的root密码

在my.ini的段[mysqld]中增加 skip-grant-tables(只增加它即可) 2. 重启mysql服务 3. 打开cmd,转向mysql的安装路径 C:\Program Files\MySQL\MySQL Server 5.1\bin 4. 输入 mysql -uroot -p 5. 密码 输入空,这时会自动转向 sql输入方式 6. 输入 use mysql 7. 输入 update user set password=password('新密码') where user='r

批处理脚本一键重置mysql的root密码

一键重置mysql的root密码的实现脚本. @echo off title mysql ::从注册表找到Mysql的安装路径写入文件mysql.txt reg query HKLM\SYSTEM\ControlSet001\Services\MySQL | find /I "ImagePath">C:\mysql.txt if %errorlevel% neq 0 ( echo MySQL not found pause exit ) ::以”为分隔符,截取第二段内容保存到变量

windows下重置mysql的root密码方法介绍(转)

自己在内网操作的,遇到了一些的问题,其中一个是需要重置密码的,所以网上找了两篇文章,都有一些借鉴的地方. 版本mysql5.7.2,linux系统 除了参考文章还有几点说明: service mysqld status 查看mysql是否在运行 service mysqld stop 关闭mysql,进入安全模式(修改)前要先关闭mysql 修改密码使用update前建议先查看一下mysql.user表的结构,确认密码存在那个字段 mysql查看表结构命令(https://www.cnblogs

windows 下重置 mysql 的 root 密码

今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常. 使用 root 账号登录 mysql 数据库,结果提示密码不匹配.我突然意识到,服务器可能遭受到 SQL注入 攻击了-- 至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的.这里我主要讲一下 mysql 用户密码的重置步骤. 重置 root 密码 在忘记 root 密码的情况下,通过 mysql 的安全模式重置 root 密码. 1. 停止 MySQL 服务 打开命令提示

详解如何在Redhat Linux(CentOS)下重置MySQL根(Root)密码

1.首先输入"service mysqld status"查看当前mysql服务状态,下图显示正在mysqld服务正在运行中. 2.输入"killall -TERM mysqld"命令停止所有的mysqld进程. 3.输入"service mysqld stop"命令停止mysqld服务. 4.输入"mysqld_safe  --skip-grant-tables &"命令以无密码方式进入MySQL安全模式. 5.输入

关于mysql中root密码修改无效的问题

最近碰见过几次mysql root密码修改无效的情况,在此做一下总结. 修改root@localhost密码后并且flush privileges;发现密码未变更,这种情况一般有三种可能. 使用 skip grant tables启动mysql导致,MySQL启动后不启动grant-tables,一般用于root密码忘记修改,修改完root密码后,去掉该参数重启即可应用修改后的密码. 存在root@'%'的用户,导致mysql -uroot -p登录使用的是root@'%'的密码,同时修改所有r

关于mysql中root密码修改无效的问题关于mysql中root密码修改无效的问题

最近碰见过几次mysql root密码修改无效的情况,在此做一下总结.修改[email protected]密码后并且flush privileges;发现密码未变更,这种情况一般有三种可能.使用 skip grant tables启动mysql导致,MySQL启动后不启动grant-tables,一般用于root密码忘记修改,修改完root密码后,去掉该参数重启即可应用修改后的密码. 存在[email protected]'%'的用户,导致mysql -uroot -p登录使用的是[email

linux下重置mysql的root密码

# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/my

mysql中root密码之更改

通用方法: 1)service mysqld stop 2)service mysqld restart --skip-grant-tables --skip-networking 3)mysql 4)update mysql.user set password = PASSWORD('新密码') where user = 'root'; 5)flush privileges; 6)service mysqld stop 7)service mysqld restart