zoukankan      html  css  js  c++  java
  • skip-grant-tables 修改linux的mysql忘记root密码

    skip-grant-tables 修改linux的mysql忘记root密码
    今天修改mysql中的admin用户权限,在执行update user set host =' %' where user = 'admin';
    时 在host='%' 引号中 ‘%’ 前 被我加了一个空格,导致本地局域网的开发数据库都连不上,

    于是乎想办法解决,突然想到linux的mysql忘记root登录密码方法,查到了skip-grant-tables方法修改

    1、我是在本地局域网修改,所以没考虑安全问题

       如果实在网上修改则要考虑安全问题:
    
       首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 
    

    2、修改mysql登录配置文件 my.cnf

      我的mycnf是在/usr/文件夹中
    
      # vim my.cnf  或 # vi my.cnf
    
      在my.cnf文件中最后添加 skip-grant-tables
    
      保存退出。
    

    3、重启mysql

        # /etc/init.d/mysql restart
    ERROR! MySQL server PID file could not be found!
    Starting MySQL.... SUCCESS! 
       ps:如果是第一次执行这个命令,出现这个返回ERROR! MySQL server PID file could not be found!应该没有问题的,我的是第一次执行的 所以出现这个。
    

    4、登录mysql

    # /usr/bin/mysql 
    

    或者直接

    # mysql
    
    
    
    
     mysql> use mysql;
     mysql> select host, user from user;
    

    我要修改的

       执行update user set host ='%' where user = 'admin';
    

    修改后的:

    这个是修改root密码的:mysql> update user set Password =password('newpassword') where User='root';

        mysql> flush privileges ; 
    mysql>exit;
        退出。
    

    5、再编辑my.cnf # vim /usr/my.cnf
    删除掉文件最后的skip-grant-tables

    保存退出

    6、再重启mysql

    [root@localhost usr]# /etc/init.d/mysql restart
    Shutting down MySQL............. SUCCESS!
    Starting MySQL.... SUCCESS!

  • 相关阅读:
    table表头固定
    【ztree系列——图标的修改】Bootstrap风格的ztree
    JS使用cookie实现DIV提示框只显示一次的方法
    js正则验证手机号码有效性
    Highcharts、AJAX、JSON、JQuery实现动态数据交互显示图表柱形图
    display:table合并表格
    jsp标签、 项目全路径引用${ctx}
    apache poi合并单元格设置边框
    Kettle 中转换(transformation)的执行过程
    数据结构--堆的实现(上)
  • 原文地址:https://www.cnblogs.com/xiaocongcong888/p/9428047.html
Copyright © 2011-2022 走看看