当前位置: 首页 > 编程笔记 >

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

周通
2023-03-14
本文向大家介绍如何快速修改MySQL用户的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 | %  |
+------+------+

至此为止,大功告成!

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

 类似资料:
  • 本文向大家介绍MySQL如何快速修改表的表结构,包括了MySQL如何快速修改表的表结构的使用技巧和注意事项,需要的朋友参考一下 快速修改MySQL某张表的表结构--摘录自《MySQL管理之道》 这个命令可以修改表结构 此外,也可以如下方法修改表结构: 先创建一张表,如下: 如果要修改name列为varchar(10)的,可以这样操作: 也可以如下操作: 1、查看表结构,如下: 2、创建临时表,把v

  • 在 MySQL 中,我们可以使用 RENAME USER 语句修改一个或多个已经存在的用户账号。 语法格式如下: RENAME USER <旧用户> TO <新用户> 其中: <旧用户>:系统中已经存在的 MySQL 用户账号。 <新用户>:新的 MySQL 用户账号。 使用 RENAME USER 语句时应注意以下几点: RENAME USER 语句用于对原有的 MySQL 用户进行重命名。 若

  • 本文向大家介绍MySQL 如何修改root用户的密码,包括了MySQL 如何修改root用户的密码的使用技巧和注意事项,需要的朋友参考一下 方法1:用SET PASSWORD命令 方法2:用mysqladmin 方法3:用UPDATE直接编辑user表 方法4:忘记root密码的时候 以windows为例: 关闭正在运行的MySQL服务。 打开DOS窗口,转到mysql\bin目录。 输入mysq

  • 本文向大家介绍MySql 修改密码后的错误快速解决方法,包括了MySql 修改密码后的错误快速解决方法的使用技巧和注意事项,需要的朋友参考一下 设置好密码后,使用数据库时出现如下错误: ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statemen

  • 我使用类a创建了一个简单的游戏,它扩展了SurfaceView并实现了Runnable。在游戏中,绘图是在公共空运行内完成的。activity一发射就会被线程锁定。游戏需要很多时间(有时10-15秒)来加载。以及当游戏暂停(thread.join())和恢复(thread=新线程(this);thread.start())时,都需要太多的时间。是什么原因导致游戏加载缓慢?解决办法是什么?

  • 我用C#做了一个快速排序算法,当数组中只有10个项时,它可以工作。当我增加这个数字时,它就会陷入无限循环。这是问题所在的代码: 当调用sortArray时,left=0,right=49&array是一个随机的50个元素的一维数组。 您可以忽略对reDrawer和refresher的引用,因为这些不会影响排序算法,它们只会在图片框中绘制结果。