如何快速修改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 s
如果有服务器的root账户,自然就不用sudo了,狼蚁网站SEO优化所有的操作也是一样。上面的命令适用于Ubuntu和Debian。CentOS、Fedora和RHEL下使用mysqld替换mysql。狼蚁网站SEO优化所有的操作也是一样。
然后,再以安全模式启动mysql
sudo mysqld_safe --skip-grant-tables --skip-working &
这样我们就可以直接用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 | % | +------+------+
至此为止,大功告成!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。如有错误或未考虑完全的地方,望不吝赐教。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程