码迷,mamicode.com
首页 > 数据库 > 详细

Mysql忘记密码处理过程

时间:2017-04-29 11:53:21      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:word   远程登陆   roo   server   数据库   find   log   没有   my.cnf   

  最近项目用到了Mysql,项目里面没有运维人员,项目经理吩咐我在Linux下搭基础环境,其中遇到各种坑,现在记录一下,方便以后使用。

以下内容是从网上摘抄过了的,若有侵权,请联系本人删除。

1.mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录。
  shell> find / -name .mysql_secret
  shell> vim /var/log/mysqld.log
     /password 找到临时生成的密码

2.若第一步成功,则使用该密码继续第7步
3.修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables
  a. 关闭正在运行的MySQL服务。
  b. vim /etc/my.ini 最后一行添加 skip-grant-tables //启动MySQL服务的时候跳过权限表认证。
4.service mysqld restart后,即可直接用mysql进入

5. mysql> update mysql.user set authentication_string=password(‘123456‘) where user=‘root‘ and Host = ‘localhost‘;

//使用语句之前最好查一下user表里面关于密码的字段.根据版本不同,有的是authentication_string,有的是password

    mysql> flush privileges;
      mysql> quit;
6.将/etc/my.cnf文件还原,重新启动mysql:service mysql restart,这个时候可以使用mysql -u root -p‘123456‘进入了

7.mysql>SET PASSWORD = PASSWORD(‘newpasswd‘); 设置新密码//newpasswd是新密码

ps: 报错:1130-host ... is not allowed to connect to this MySql server时解决办法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,
登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%‘ where user = ‘root‘ and host = ‘localhost‘;
mysql>select host, user from user;

mysql>flush privileges;

shell>service mysqld restart;

Mysql忘记密码处理过程

标签:word   远程登陆   roo   server   数据库   find   log   没有   my.cnf   

原文地址:http://www.cnblogs.com/ifly-zhhades/p/6784691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!