MySQL 忘记密码 解决方案

1. 问题描述

安装MySQL后,一般来说默认root用户的密码是空的,但是由于某种原因(本人暂时还不知道为什么)导致密码并不为空,所以登陆不了(登陆不了还有可能没有启动mysql服务)

image

2. 解决办法:

先登陆服务器,找到自己的my.cnf文件,通常会在 /etc目录下。

# find / -name my.cnf //查找mysql配置文件my.cnf文件
# cp /etc/my.cnf /etc/my.cnf.bak //修改之前先备份一下
# vim my.cnf //编辑mysql配置文件
/mysqld //搜索关键字

在[mysqld]下面加上 skip-grant-tables ,如下图所示:

MySQL 忘记密码 解决方案_第1张图片
image

作用是登陆时跳过登陆认证,换句话说就是root什么密码都可以登陆进去,然后:wq保存退出后.

service mysqld restart//重启mysql。

现在不论什么密码都可以登陆root用户了。
接下来,在Linux中输入如下命令:

mysql -uroot -p
mysql> use mysql; 
mysql> update user set password=password('123') where user='root'; 
mysql> flush privileges;

退出mysql:exit
删除skip-grant-tables
重启mysql,完成。

service mysqld restart

下面重新登录到MySQL:

mysql -uroot -p 123

此时,就可以通过重设的密码以root用户的身份登陆了,后续才能以root用户的身份设置远程访问的权限。

3. 远程访问

3.1 下面开始设置mysql的远程访问的权限

#use mysql;
#GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123' WITH GRANT OPTION;  
#flush privileges; 
#exit

完成设置过程如下:


MySQL 忘记密码 解决方案_第2张图片
image

3.2 通过Navicat远程访问MySQL数据库

  1. 设置完成之后,就可以通过navicat工具进程远程连接操作了,新建一个mysql连接:


    MySQL 忘记密码 解决方案_第3张图片
    image
  2. 点击测试连接,如果没有问题后就可以点击确定按钮了。

MySQL 忘记密码 解决方案_第4张图片
image

你可能感兴趣的:(MySQL 忘记密码 解决方案)