• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何快速修改MySQL用户的host属性

    当你远程登录MySQL时,使用的账号要有特殊要求。

    默认的账号的host属性都是localhost,意思是这个账号只能本地使用,如果要使用某个账号来远程登录,必须将账号的host属性值更改成%。

    执行的sql语句如下:

    update user set host = '%' where user = 'root';

    补充:mysql 修改root密码 修改账户登录host

    1.忘了root密码

    远程服务器起了一个mysql服务,里面有个hive账户,在远程服务器能通过命令行用mysql -hlocalhost -uxxx -pxxx的方式登录,但是用navicat客户端,怎么也登录不上,而且navicat显示的还是我自己机器的ip地址。

    初步怀疑,是mysql里的A账户密码没有设置正确。于是需要用root账号对hive账户重新进行设置。

    坑爹的是,mysql也不是我布的。而且测试环境,也不知道该找谁要密码。那就使出终极武器吧:修改root密码。

    2.重置mysql root密码。

    首先注意的一点:mysql的root账户与服务器的root账户不是同一个概念,不要混为一谈。

    首先,停掉mysql服务:

    sudo service mysql stop

    如果有服务器的root账户,自然就不用sudo了,下面所有的操作也是一样。上面的命令适用于Ubuntu和Debian。CentOS、Fedora和RHEL下使用mysqld替换mysql。下面所有的操作也是一样。

    然后,再以安全模式启动mysql:

    sudo mysqld_safe --skip-grant-tables --skip-networking  

    这样我们就可以直接用root登录,无需密码:

    mysql -u root 

    这样,我们就用root账户登录了mysql。

    然后,就可以重置root密码了:

    mysql> use mysql; 
    mysql> update user set password=PASSWORD("mynewpassword") where User='root'; 
    mysql> flush privileges; 

    重置完毕以后,退出mysql。然后再将mysql服务启动:

    sudo service mysql restart 

    接下来,就是用root账户登录了:

    mysql -u root -pmynewpassword 

    3.修改A账户相关权限

    用root账号登录mysql以后,接下来看看A账号的相关信息:

    mysql> use mysql;
    Database changed
    mysql> select User, Host from user where User='hive';
    +------+--------------+
    | User | Host     |
    +------+--------------+
    | hive | 127.0.0.1  |
    +------+--------------+

    这一下就明白了。尼玛难怪navicat客户端登不了。hive账户的host只有127.0.0.1,自然只能在本机登录了。

    mysql> update user set Host='%' where User='hive';

    将hive账户设置为所有机器均可登录,然后再刷新一下权限:

    mysql> flush privileges;

    再查看一把:

    mysql> select User, Host from user where User='hive';
    +------+------+
    | User | Host |
    +------+------+
    | hive | %  |
    +------+------+

    至此为止,大功告成!

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • MySQL新建用户中的%到底包不包括localhost?
    • mysql允许所有host访问的方法
    • 完美解决MySQL通过localhost无法连接数据库的问题
    • MySQL 可以用localhost 连接,但不能用IP连接的问题解决方法
    • 浅谈Mysql连接数据库时host和user的匹配规则
    上一篇:mysql居然还能实现分布式锁的方法
    下一篇:浅谈Mysql连接数据库时host和user的匹配规则
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何快速修改MySQL用户的host属性 如何,快速,修改,MySQL,用户,