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! 


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值