• ubuntu系统mysql5.7忘记/设置root的坑


    关于修改root的密码有很多笔记了,但是在mysql5.7下面无效,后来找到同样是5.7的笔记,才真正修改好。现在记录下来。

    第一步,修改mysql配置文件让Mysql跳过认证

    我的mysql是通过apt install mysql-server 安装的

    配置文件目录/etc/mysql/mysql.conf.d/mysql.cnf

    编辑mysql.cnf,找到[mysqld] (带英文的中括号),在下面添加一行

    skip-grant-tables

    保存退出

    提醒】默认的/etc/mysql/mysql.cnf是一个导入文件,一般不建议直接修改,如果你编辑这个文件也可以,需要先输入[mysqld],再换行输入skip-grant-tables

    备用方法:使用debian的账号登录,可以不修改mysql.cnf登录

    sudo vim /etc/mysql/debian.cnf
    # 找到password一行,复制密码
    

      

    第二步,重启mysql,然后免密登录

    sudo service mysql restart

    然后msyql -u root -p 回车,再回车,就进入mysql了

    第三步,修改root密码

    mysql> use mysql;
    mysql> update user set authentication_string=PASSWORD("你的密码") where user='root';
    mysql> update user set plugin="mysql_native_password"; # 不用修改, 直接执行  重点
    mysql> flush privileges;
    mysql> quit;

    之前的教程,都知道更新了authentication_string这个表,没有第3行的操作,所以,退出重启mysql,还是无法用root登录

    这应该是5.7更新安全规则的原因,一定要执行第3条和第4条哦

    第四步,重新修改mysql.cnf 

    在skip-grant-tables前面,加一个#号,注释掉,如果是生产环境,一定要修改哦,不然很危险哈

    再重启mysql服务sudo service mysql restart

    再 mysql -u root -p   #回车

    输入密码,登录Mysql 

    第五步、安装一个图形客户端

    sudo apt install mysql-workbench

    使用参考文档:https://www.cnblogs.com/qq_841161825/p/8830436.html

  • 相关阅读:
    容器与线程--更新
    js生成元素的事件不执行问题
    Webpack 笔记
    思考题——爬楼梯
    正则表达式笔记
    github + travis 自动构建 vue 项目到 gitpage
    css3 动画 vs js 动画
    深度哲学对工作的启发
    yml 文件操作方法
    布尔变量在项目中的应用
  • 原文地址:https://www.cnblogs.com/qumogu/p/12632186.html
Copyright © 2020-2023  润新知