恢复mysql管理员密码

 今日一个错手,把mysql里面user表中的root密码列改错了。里面有大量的数据,不可能重装啊。从网上找了些资料,发现恢复mysql的密码不难。
一、覆盖
 因为Mysql密码存储于数据库mysql中的user表中,所以我们只要用已知密码的user表拷贝过来覆盖就行了。
红旗DC Server 4.1在/var/lib/mysql/mysql/目录下有三个user表相关文件user.frm、user.MYD、user.MYI。它们分别表示:

引用
user.frm  //user表样式文件
user.MYD //user表数据文件
user.MYI  //user表索引文件

 先备份一下就的文件,防止改错。然后把已经知道密码的mysql库中user表的三个文件拷贝过来。这时我们只要重启mysql服务就可以用已知的密码来访问Mysql数据库了。

service mysql restart

 
 现在我们可以用已知密码的来访问Mysql数据库了。
二、官方的方法
 如果临时找不到已有的User表文件,那只能用官方的方法来做了。
1、向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录/var/lib/mysql中。

# killall -TERM mysqld

2、使用–skip-grant-tables参数来启动 mysqld。

# /usr/bin/safe_mysqld –skip-grant-tables

路径不一定都一样,可以用locate找一下。
3、然后就可以无密码登录到mysqld server ,此时Mysql的密码和刚安装时一样,都是为空。现在我们可以使用mysqladmin来改变mysql的密码了。

#mysqladmin -u root -p password newpassword

4、载入权限表,使用下面的命令

# mysqladmin flush-privileges

5、使用新密码登陆即可
 官方的方法有个好处,就是不会影响其他用户的权限。

在Windows 下安装 MySQL-python 1.2.5
搭建Master-Master Mysql Replication 集群
在红旗Asianux 3.0 上安装Moodle
WAS 5.1使用J2C 认证数据条目
配置WebSphere 5.1的数据库连接池

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/linux/114482.html

(0)
上一篇 2021年8月27日 10:29
下一篇 2021年8月27日 10:29

相关推荐

发表回复

登录后才能评论