mysql重置密码方法

Linux

mysql默认目录:

安装目录:/var/lib/mysql

配置文件目录:/usr/share/mysql

mysql工具:/usr/bin

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-grant-tables 
保存并且退出vi。 

注:如果etc目录下没有my.cnf文件

进入到 /usr/share/mysql 目录,拷贝 my-medium.cnf 文件到 /etc 下并修改文件名为 my.cnf

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


4.登录并修改MySQL的root密码 
# /usr/bin/mysql 

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.37-log MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

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 ]

Windows

1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令

net stop mysql

打开第一个cmd窗口,切换到mysql的bin目录,运行命令:

mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables

注释:

该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 

2、打开第二个cmd窗口,连接mysql:

输入命令:

mysql -uroot -p

出现:

Enter password:

在这里直接回车,不用输入密码。然后就就会出现登录成功的信息。

使用命令:

mysql> show databases;

使用命令切换到mysql数据库:

mysql> use mysql;

使用命令更改root密码:

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

刷新权限:

mysql> flush privileges;

然后退出,重新登录: 

mysql> quit

重新登录:

mysql -uroot -p

出现输入密码提示,输入新的密码即可登录:

Enter password: ***********

显示登录信息: 成功  就一切ok了

猜你喜欢

转载自ideabean.iteye.com/blog/2116071