加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql如何更改host

发布时间:2023-04-10 14:28:38 所属栏目:MySql教程 来源:
导读:这篇“mysql如何修改host”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“
这篇“mysql如何修改host”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql如何修改host”文章吧。
 
mysql修改host的方法:1、通过“sudo service mysql stop”停掉mysql服务;2、以安全模式启动mysql,然后重置root密码;3、通过“update user set Host='%' where User='hive';”语句修改host即可。
 
快速修改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 | %  |
 
+------+------+
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!