mysql 找回root密码

找到下列文件 Windows 是my.ini文件,  Linux是 my.cnf 文件

1、Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录。

2、Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.cnf。如果找不到,可以用find命令查找。

3、Linux用rpm包安装的MySQL是不会安装/etc/my.cnf文件的

至于为什么没有这个文件而MySQL却也能正常启动和作用,有两个说法:
第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动;
第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL。

解决方法:只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可

 

关闭 mysql   修改文件 vi命令编辑 my.cnf 文件

加入

   skip-grant-tables   跳过权限检测
   skip-networking     断开外网

mysql 找回root密码

启动mysql  

      mysql -uroot -p

  show databases;   显示所有数据库

  use mysql;            切换数据库

  show tables;         显示库中说有表

   desc  user;           查看表各个字段的信息

select * from user \G    查看表中数据


 select host, user,authentication_string from user;

mysql 找回root密码

update user set authentication_string = password('123456') where user='test';   ###  修改密码  密码需要满足密码规则

mysql 找回root密码

修改后 authentication_string  变了

mysql 找回root密码

关闭msyql,然后把之前的my.cnf 文件改回来,启动msyql

然后登录试试!成功了