博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

linux下mysql 5.7+版本 忘记密码和支持远程访问

Posted on 2016-10-14 11:15  疯狂的码奴  阅读(223)  评论(0编辑  收藏  举报

在linux下安装mysql5.7+版本,如果忘记密码需要做以下几步:

1、停止Mysql服务(有的文章说可以不停,建议还是停止,减少不必要的麻烦)

2、进入/etc/my.cnf(一般都会放在这个目录下,如果有特殊的,自己使用搜索功能找到就行),在最后加上:skip-grant-tables

3、启动mysql

  service mysqld start(这是centos 7的启动命令,根据自己的系统及版本使用正确命令启动即可)

4、进入mysql

  mysql -uroot -p

  回车后输入密码(任意输入)

5、修改mysql.user表中的密码字段(新版mysql已经弃用password这个字段,采用的是authentication_string加密字段)

修改语句:update mysql.user set authentication_string=password('你的明文密码') where user='root';           

--注:password()函数是对明文密码进行加密,另外新版的mysql密码对长度和复杂度都有要求,要同时包含小写大写字母和数字,长度不能小于8位。修改密码不成功的应该就是这个问题导致的。

 

6、支持远程访问

同样是在mysql.user表中,root用户的host字段默认是Localhost 是无法支持远程访问,虚拟机里安装,本机访问一样属于远程访问。因此需要将host字段的值进行修改

修改语句: update mysql.user set Host='%' where user='root';

 

7、以上修改完成后,退出mysql 然后在/etc/my.cnf里注释掉或去掉 skip-grant-tables 保存后,启动mysql服务和端口即可。