• Mysql忘记密码处理过程


      最近项目用到了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;

  • 相关阅读:
    第十一章 表单与验证
    第十章 日期与时间
    第九章 正则表达式
    第八章 字符串处理
    纯C实现面向对象之接口编程
    csharp 面向对象编程
    cpp面向对象编程
    javascriptMVC框架面向对象编程
    堆栈的区别
    Java堆栈简介
  • 原文地址:https://www.cnblogs.com/ifly-zhhades/p/6784691.html
Copyright © 2020-2023  润新知