在vps主机上mysql服务器root密码丢失
有一个vps客户,在配置LAMP的时候,修改了mysql服务器root密码,过几天忘了密码。那么该如何找回来呢?下面我就详细讲讲如何找回root密码,分两种情况,一种mysql数据库资料不是很重要,可以删除,另外一种适合 mysql服务器里面有重要的数据,不能初始化。LAMP配置Mysql时root密码丢失问题。
环境: linux vps主机 centos5 操作系统 使用yum安装的数据库,当然此解决办法同样适合其他linux发行版本。
Mysql服务器root密码丢失步骤:
1、mysql数据库资料不是很重要,找回root密码丢失方法
1.1关闭mysqld服务
- /etc/init.d/mysqld stop
1.2删除/var/lib/mysql整个目录
- rm -rf /var/lib/mysql
1.3重新启动mysqld服务,mysql数据库会重建,您的root 就没有密码了
- /etc/init.d/mysqld start
特别提醒:此方法仅适合您的数据库并不重要的时候,如何数据库很重要,那千万不要随便删除,请使用第二种方法
2、mysql数据库资料有很重要的资料,找回root密码丢失方法
2.1关闭mysql服务
- /etc/init.d/mysqld stop
2.2使用–skip-grant-tables选项启动MySQL服务,可以修改/etc/inin.d/mysqld脚本启动位置增加此选项,
- vi /etc/init.d/mysqld
在运行启动的语句里增加--skip-grant-tables
–skip-grant-tables的意思是启动MySQL服务的时候跳过权限表认证。启动后,连接到MySQL的root不需要口令
2.3重新启动mysql服务
- /etc/init.d/mysqld stop
2.4使用空密码的root用户连接MySQL ,并且更改root密码丢失口令
- mysql -uroot
- mysql>use mysql; < --使用mysql数据库
- mysql>update user set passwordpassword=password('123') where user='root' and host='localhost'; < --更改密码语句
- mysql>set passwordpassword=password('123'); < --使用此语句更改密码会失败,使用上面语句直接更新user表 password字段后更改密码成功
2.5关闭mysql服务
- /etc/init.d/mysqld stop
2.6重新修改2.2步骤修改的/etc/init.d/mysqld,使其保持原来不变,也就是取消skip-grant-tables语句
2.7重新启动mysql服务
- /etc/init.d/mysqld stop
经过上面7步骤,mysql服务器root密码丢失的问题就迎刃而解。这么简单,mysql服务器root密码丢失的找回就不是问题了。
【编辑推荐】