Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316093
  • 博文数量: 145
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1139
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-14 16:47
个人简介

路漫漫其修远兮,吾将上下而求索

文章分类

全部博文(145)

文章存档

2016年(10)

2015年(15)

2014年(120)

我的朋友

分类: Mysql/postgreSQL

2014-01-14 17:24:13

一.MySQL密码的恢复方法之一 
如果忘记了MySQL的root密码,可以用以下方法重新设置:
1.切换到root下
su root 
2. KILL掉系统里的MySQL进程; 
killall -TERM mysqld 
3. 用以下命令启动MySQL,以不检查权限的方式启动; 
safe_mysqld --skip-grant-tables & 
4. 然后用空密码方式使用root用户登录 MySQL; 
mysql -u root 
5. 修改root用户的密码; 

点击(此处)折叠或打开

  1. mysql> update mysql.user set password=PASSWORD('123456') where User='root';
  2. mysql> flush privileges;
  3. mysql> quit
重新启动MySQL,就可以使用新密码登录了。 
二. MySQL密码的恢复方法二
有可能你的系统没有 safe_mysqld 程序(ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复
1.切换到root下
su root
2. 停止mysqld; 
   /etc/init.d/mysql stop
3. 用以下命令启动MySQL,以不检查权限的方式启动; 
mysqld --skip-grant-tables &
4. 然后用空密码方式使用root用户登录 MySQL; 
mysql -u root
4. 修改root用户的密码为123456(当然,你需要将123456改成你要设置的密码); 

点击(此处)折叠或打开

  1. mysql> update mysql.user set password=PASSWORD('123456') where User='root';
  2. mysql> flush privileges;
  3. mysql> quit
重新启动MySQL
/etc/init.d/mysql restart
就可以使用新密码 123456 登录了。 
三.MYSQL密码的恢复方法三:
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:

点击(此处)折叠或打开

  1. [mysqld]
  2. datadir=/var/lib/mysql
  3. socket=/var/lib/mysql/mysql.sock
  4. skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码

点击(此处)折叠或打开

  1. # /usr/bin/mysql
  2. Welcome to the MySQL monitor. Commands end with ; or \g.
  3. Your MySQL connection id is 3 to server version: 3.23.56
  4. Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  5. mysql> USE mysql ;
  6. Reading table information for completion of table and column names
  7. You can turn off this feature to get a quicker startup with -A
  8. Database changed
  9. mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
  10. Query OK, 0 rows affected (0.00 sec)
  11. Rows matched: 2 Changed: 0 Warnings: 0
  12. mysql> flush privileges ;
  13. Query OK, 0 rows affected (0.01 sec)
  14. mysql> quit
  15. 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 ]



阅读(314) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~