mysql root密码重置

来源:互联网 发布:淘宝商家手机怎么注册 编辑:程序博客网 时间:2024/04/30 07:21

本文主要介绍的是忘记MySQL数据库密码的实际解决方案,如果在实际操作中你不小心忘记MySQL数据库密码可以说是一件十分麻烦的事情,以下的文章就是对一麻烦事的破解,以下就是文章的主要内容描述。

破解本地MySQL数据库密码:

Windows:

1.用系统管理员登陆系统。

2.停止MySQL的服务。

3.进入命令窗口,然后进入 MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin

4.跳过权限检查启动MySQL,

c:\mysql\bin>mysqld-nt ––skip-grant-tables

或则:c:\mysql\bin>mysqld ––skip-grant-tables

mysqld.exe是微软Windows MySQL server数据库服务器相关程序。mysqld-nt.exe是MySQL Daemon数据库服务相关程序。

5.[未验证]

重新打开一个窗口

进入c:\mysql\bin目录,设置root的新MySQL数据库密码

c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword"

c:\mysql\bin>mysqladmin -u root -p shutdown

将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。

5.[验证]或则:

重新开打一个命令提示符的窗口(CMD)

用空MySQL数据库密码方式使用root用户登录 MySQL;

  1. mysql -u root 

修改root用户的密码;

  1. mysql> update mysql.user set password=PASSWORD('新密码') where User='root';   
  2. mysql> flush privileges;   
  3. mysql> quit  

6.停止MySQL Server,用正常模式启动Mysql

7.你可以用新的密码链接到Mysql 了。

Unix&Linux

1.用root或者运行mysqld 的用户登录系统;

2.利用kill命令结束掉mysqld的进程;

3.使用–skip-grant-tables参数启动MySQL Server

  1. shell>mysqld_safe –skip-grant-tables & 

4.为设置新MySQL数据库密码

  1. shell>mysqladmin -u root flush-privileges password "newpassword" 

5.重启MySQL Server




MySQL修改root密码的多种方法


linux下mysql的root密码忘记解决方法
作者:PHP领地 发布日期:2010-01-20 点击:49次
摘要:一. MySQL密码的恢复方法之一 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MyS...
这里是广告链接
一. MySQL密码的恢复方法之一

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。

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.恢复服务器的正常工作状态
将步骤一中的操作逆向操作。恢复服务器的工作状态。

二。 MySQL密码的恢复方法之二
如果忘记了MySQL的root密码,可以用以下方法重新设置:
1. KILL掉系统里的MySQL进程;
killall -TERM mysqld
2. 用以下命令启动MySQL,以不检查权限的方式启动;
safe_mysqld --skip-grant-tables &
3. 然后用空密码方式使用root用户登录 MySQL;
mysql -u root
4. 修改root用户的密码;
mysql> update mysql.user set password=PASSWORD('新密码') where User='root';
mysql> flush privileges;
mysql> quit
重新启动MySQL,就可以使用新密码登录了。


三. MySQL密码的恢复方法三
有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复
1. 停止mysqld;
/etc/init.d/mysql stop
(您可能有其它的方法,总之停止mysqld的运行就可以了)
2. 用以下命令启动MySQL,以不检查权限的方式启动;
mysqld --skip-grant-tables &
3. 然后用空密码方式使用root用户登录 MySQL;
mysql -u root
4. 修改root用户的密码;
mysql> update mysql.user set password=PASSWORD('newpassword') where User='root';
mysql> flush privileges;
mysql> quit
重新启动MySQL
/etc/init.d/mysql restart
就可以使用新密码 newpassword 登录了。


方法1: 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR

'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin
mysqladmin

-u root password "newpass"
如果root已经设置过密码,采用如下方法
mysqladmin -u root

password oldpass "newpass"

方法3: 用UPDATE直接编辑user表
mysql -u

root
mysql> use mysql;
mysql> UPDATE user SET Password =

PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH

PRIVILEGES;

在丢失root密码的时候,可以这样
mysqld_safe

--skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET

password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH

PRIVILEGES;



第一种方法:

root用户登录系统

/usr/local/mysql/bin/mysqladmin -u root -p password

新密码

enter password 旧密码

第二种方法:

root用户登录mysql数据库

mysql> update mysql.user set

password=password(”新密码”)where User=”root”;

mysql> flush privileges;

mysql> quit ;

mysql忘记root密码如何处理?

如果 MySQL 正在运行,首先结束mysql进程: killall mysqld

启动 MySQL (非正常方式起动):/usr/local/mysql/bin/mysqld_safe

–skip-grant-tables &

这样就可以不需要密码进入 MySQL :/usr/local/mysql/bin/mysql -u

root -p(要求输入密码时直接回车即可)

mysql> update user mysql.set

password=password(”新密码”) where user=”root”;

mysql> flush privileges;

mysql> quit;

重新结束进程:killall mysqld

用正常方式启动 MySQL :/usr/local/mysql/bin/mysqld_safe

-user=mysql &














附录:

MySQL修改密码的方法大全:

  1. mysql> update user set Password=password('newpassword') where User='root';   
  2. MYSQLADMIN -u root -p PASSWORD mypasswd   

可以修改MYSQL文件夹中的MY.INI文件

  1. mysql> SET PASSWORD FOR myuser@localhost = PASSWORD('mypasswd');   
  2. mysql> GRANT USAGE ON *.* TO myuser@localhost IDENTIFIED BY 'mypassword'; 
原创粉丝点击