怎么对MySQL用户的主机属性进行修改

  介绍

怎么对MySQL用户的主机属性进行修改?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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

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

执行的sql语句如下:

update  user  set  host =, & # 39; % & # 39;, where  user =, & # 39;根# 39;;

<强>补充:MySQL修改根密码修改账户登录主机

1。忘了根密码

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

初步怀疑,是mysql里的一个账户密码没有设置正确。于是需要用根账号对蜂巢账户重新进行设置。

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

2。重置mysql根密码。

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

首先,停掉mysql服务:

sudo  service  mysql 停止

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

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

sudo  mysqld_safe ——skip-grant-tables ——skip-networking ,

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

mysql  -u 根

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

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

mysql>, use  mysql,,   mysql>, update  user  set 密码=密码(“mynewpassword"), where 用户=& # 39;根# 39;,,   mysql>, flush 特权;

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

sudo  service  mysql 启动

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

mysql  -u  root  -pmynewpassword

3。修改一个账户相关权限

用根账号登录mysql以后,接下来看看一个账号的相关信息:

mysql>, use  mysql;   Database 改变了   mysql>, select 用户,Host 得到user  where 用户=& # 39;蜂巢# 39;;   + - - - - - - - - - - - - - - - - - - - - - - +   | |,User  Host ,,, |   + - - - - - - - - - - - - - - - - - - - - - - +   | |,hive  127.0.0.1  |   + - - - - - - - - - - - - - - - - - - - - - - +

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

mysql>, update  user  set 主机=& # 39;% & # 39;,where 用户=& # 39;蜂巢# 39;;

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

mysql>, flush 特权;

再查看一把:

mysql>, select 用户,Host 得到user  where 用户=& # 39;蜂巢# 39;;   + - - - - - - - - - - - - +   | |,User  Host  |   + - - - - - - - - - - - - +   | |,hive  %, |   + - - - - - - - - - - - - + +

怎么对MySQL用户的主机属性进行修改