iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >通过修改MySQL用户授权IP了解其用户管理
  • 115
分享到

通过修改MySQL用户授权IP了解其用户管理

2024-04-02 19:04:59 115人浏览 八月长安
摘要

下文主要给大家带来通过修改Mysql用户授权IP了解其用户管理,希望这些内容能够带给大家实际用处,这也是我编辑通过修改mysql用户授权IP了解其用户管理这篇文章的主要目的。好了,废话不多说,大家直接看下文

下文主要给大家带来通过修改Mysql用户授权IP了解其用户管理,希望这些内容能够带给大家实际用处,这也是我编辑通过修改mysql用户授权IP了解其用户管理这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

 

近期把数据库用户的授权IP由IP段, 调整为具体IP了, 用意是排查问题时, 可以定位到具体应用云服务器, 或针对性的做某些设置.

 

本以为一个UPDATE就可搞定, 测试后却发现被修改的用户只剩下USAGE权限了, 演示如下:

 

mysql> SELECT user, host, passWord FROM mysql.userWHERE user = 'zzzz_acc'\G

*************************** 1. row***************************

   user: zzzz_acc

   host: 192.168.4.%

password:*2B979ED0716E5FCB08CA97C284FE270B65991F34

1 row in set (0.00 sec)

 

mysql> SHOW GRANTS FOR 'zzzz_acc'@'192.168.4.%'\G

*************************** 1. row***************************

Grants for zzzz_acc@192.168.4.%: GRANTUSAGE ON *.* TO 'zzzz_acc'@'192.168.4.%' IDENTIFIED BY PASSWORD'*2B979ED0716E5FCB08CA97C284FE270B65991F34'

*************************** 2. row***************************

Grants for zzzz_acc@192.168.4.%: GRANTSELECT, INSERT, DELETE, EXECUTE ON `zzzz`.* TO 'zzzz_acc'@'192.168.4.%'

2 rows in set (0.00 sec)

 

mysql> UPDATE mysql.user SET host ='192.168.4.14' WHERE user = 'zzzz_acc' AND host = '192.168.4.%';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1 Warnings: 0

 

手动修改权限表后, 要FLUSH下:

 

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

 

mysql> SHOW GRANTS FOR'zzzz_acc'@'192.168.4.14'\G

*************************** 1. row***************************

Grants for zzzz_acc@192.168.4.14: GRANTUSAGE ON *.* TO 'zzzz_acc'@'192.168.4.14' IDENTIFIED BY PASSWORD'*2B979ED0716E5FCB08CA97C284FE270B65991F34'

1 row in set (0.00 sec)

 

原因呢, 是该用户权限是数据库级别的, mysql.db表也要做相应的修改:

 

mysql> SELECT host, db, user FROM dbWHERE host = '192.168.4.%'\G

*************************** 1. row***************************

host: 192.168.4.%

  db:zzzz

user: zzzz_acc

1 row in set (0.00 sec)

 

mysql> UPDATE mysql.db SET host ='192.168.4.14' WHERE user = 'zzzz_acc' AND host = '192.168.4.%';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1 Warnings: 0

 

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

 

瞧, 这时权限回来了:

 

mysql> SHOW GRANTS FOR'zzzz_acc'@'192.168.4.14'\G

*************************** 1. row***************************

Grants for zzzz_acc@192.168.4.14: GRANTUSAGE ON *.* TO 'zzzz_acc'@'192.168.4.14' IDENTIFIED BY PASSWORD'*2B979ED0716E5FCB08CA97C284FE270B65991F34'

*************************** 2. row***************************

Grants for zzzz_acc@192.168.4.14: GRANTSELECT, INSERT, DELETE, EXECUTE ON `zzzz`.* TO 'zzzz_acc'@'192.168.4.14'

2 rows in set (0.00 sec)

 

总结下, 就是一般不要手动直接修改权限表, 官方文档也不建议这样. MySQL中对于用户的管理, 如创建用户, 调整权限, 修改密码等, 都提供了相应的命令. 此处利用RENAME USER, 即可一步到位:

 

mysql> RENAME USER'zzzz_acc'@'192.168.4.%' TO 'zzzz_acc'@'192.168.4.14';

Query OK, 0 rows affected (0.01 sec)

 

但也存在着变通, 这里想起之前遇到的一个问题, 数据库的管理用户'root'@'localhost'有ALL PRIVILEGES的权限, 但没有了GRANT OPTioN权限(不要问我为什么会这样). 即该管理用户, 不能赋予和撤销其它用户的权限, 也意味着不能创建实际有效的用户了, 演示如下:

 

mysql> SHOW GRANTS\G

*************************** 1. row***************************

Grants for root@localhost: GRANT ALLPRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BYPASSWORD '*2B979ED0716E5FCB08CA97C284FE270B65991F34'

1 row in set (0.00 sec)

 

mysql> CREATE USER'zzzz_acc2'@'192.168.4.15' IDENTIFIED BY 'zzzz_acc2';

Query OK, 0 rows affected (0.15 sec)

 

mysql> GRANT SELECT, INSERT, DELETE,EXECUTE ON `zzzz`.* TO 'zzzz_acc2'@'192.168.4.15';

ERROR 1044 (42000): Access denied for user'root'@'localhost' to database 'zzzz'

 

怎么办呢, 也只能直接修改mysql.user表的grant_priv字段了:

 

mysql> SELECT user, host, password,grant_priv FROM mysql.user WHERE user = 'root' AND host = 'localhost'\G

*************************** 1. row***************************

      user: root

     host: localhost

 password: *2B979ED0716E5FCB08CA97C284FE270B65991F34

grant_priv: N

1 row in set (0.00 sec)

 

mysql> UPDATE mysql.user SET grant_priv= 'Y' WHERE user = 'root' AND host = 'localhost';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1 Warnings: 0

 

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

 

mysql> SHOW GRANTS\G

*************************** 1. row***************************

Grants for root@localhost: GRANT ALLPRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD'*2B979ED0716E5FCB08CA97C284FE270B65991F34' WITH GRANTOPTION

1 row in set (0.00 sec)

 

下面注意了, 虽然看到了GRANT OPTION权限, 还要重新登陆下, 该权限才能生效, 类似于修改了全局参数, 要重新连接下一样, 否则还会遇到上面的报错.

 

mysql> GRANT SELECT, INSERT,DELETE, EXECUTE ON `zzzz`.* TO 'zzzz_acc2'@'192.168.4.15';

Query OK, 0 rows affected (0.00 sec)

 

mysql> SHOW GRANTS FOR'zzzz_acc2'@'192.168.4.15'\G

*************************** 1. row***************************

Grants for zzzz_acc2@192.168.4.15: GRANTUSAGE ON *.* TO 'zzzz_acc2'@'192.168.4.15' IDENTIFIED BY PASSWORD'*0CF81DDE0A7213E4AB18F2925316C049BCF3F2E8'

*************************** 2. row***************************

Grants for zzzz_acc2@192.168.4.15: GRANTSELECT, INSERT, DELETE, EXECUTE ON `zzzz`.* TO 'zzzz_acc2'@'192.168.4.15'

2 rows in set (0.00 sec)

 

上面两个示例涉及到了MySQL权限表中的user, 和db. 前者记录了用户的全局权限和一些非权限信息, 后者记录了数据库级别权限; 与权限相关的还有table_priv, columns_priv和 proc_priv表, 分别对应了表, 列, 和存储过程(函数)级别的权限(proxies_priv代理用户权限暂不提).

 

最后再看下MySQL 5.6版本在管理用户密码部分中不太完善的地方, 由于项目临时调试, 需要开放线上数据库一个特定时长的临时只读权限(在从库上), 可是5.6版本只提供了密码过期设置, 并没有对过期时长做限制. 这些细节在5.7版本中有很多完善, 如密码何时过期, 用户定, SSL加密连接设置等.

对于以上关于通过修改MySQL用户授权IP了解其用户管理,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的数据库,相信你会喜欢上这些内容的。 

您可能感兴趣的文档:

--结束END--

本文标题: 通过修改MySQL用户授权IP了解其用户管理

本文链接: https://www.lsjlt.com/news/36033.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL 用户管理和授权
    一.MySQL权限分类 mysql.user   全局权限mysql.db  只能操作某个数据库 mysql.table_priv  只能操作某个表 mysql.columns  只能对某个列进行操作 二.查看用户权限  show gr...
    99+
    2023-08-31
    sql 数据库 mysql
  • MySQL 用户授权管理及白名单
    1.创建用户 在 MySQL 中,你可以通过以下步骤创建用户并设置白名单: 使用管理员账号连接到 MySQL 服务器。 创建新用户: CREATE USER 'username'@'hostnam...
    99+
    2023-10-03
    mysql 数据库
  • MySQL如何授权用户管理数据库
    这篇文章将为大家详细讲解有关MySQL如何授权用户管理数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、grant 普通 DBA 管理某个 MySQL 数据库的权限...
    99+
    2024-04-02
  • mysql8.0 用户管理(角色、授权)
    我是傲骄鹿先生,沉淀、学习、分享、成长。 如果你觉得文章内容还可以的话,希望不吝您的「一键三连」,文章里面有不足的地方希望各位在评论区补充疑惑、见解以及面试中遇到的奇葩问法 一、用户管理 1.1 用户授权 MySQL8.0的用户授权...
    99+
    2023-09-06
    服务器 数据库 mysql 用户 权限
  • MySQL新建用户怎么授权、删除用户和修改密码
    这篇文章主要讲解了“MySQL新建用户怎么授权、删除用户和修改密码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL新建用户怎么授权、删除用户和修改密...
    99+
    2024-04-02
  • MySql增加用户、授权、修改密码等语句
    MySql增加用户、授权、修改密码等语句 数据库top_develop 登录数据库 1:新增用户 [mysql@lcamdb ~]$ mysql -u root -p Enter password: *...
    99+
    2024-04-02
  • MySQL中用户与授权管理的示例分析
    这篇文章将为大家详细讲解有关MySQL中用户与授权管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 一、前言 做为Mysql数据库管理员管理用户账户,是一...
    99+
    2024-04-02
  • MySQL8 创建用户,设置修改密码,授权
    MySQL8 创建用户,设置修改密码,授权 MySQL5.7可以 (创建用户,设置密码,授权) 一步到位 👇 GRANT ALL PRIVILEGES ON *.* TO '用户名'@...
    99+
    2023-09-02
    mysql 数据库
  • mysql用户授权失败怎么解决
    MySQL用户授权失败可能由多种原因引起,以下是一些解决方法: 确保用户名和密码正确:首先检查所使用的用户名和密码是否正确,可能...
    99+
    2024-04-09
    mysql
  • MySQL如何使用GRANT授权某用户浏览和修改表权限操作
    小编给大家分享一下MySQL如何使用GRANT授权某用户浏览和修改表权限操作,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 下面的例子是授权logger用户查...
    99+
    2024-04-02
  • MySQL用户与权限的管理详解
    本文实例讲述了MySQL用户与权限的管理。分享给大家供大家参考,具体如下: 用户连接到MySQL,可以做各种查询,这都是MySQL用户与权限功能在背后维持着操作。 用户与数据库服务器交互数据,分为两个阶...
    99+
    2024-04-02
  • SQL怎么授予用户对表的修改权限
    要授予用户对表的修改权限,可以使用SQL语句中的GRANT命令。 语法如下: GRANT {permission_type(s)} ...
    99+
    2024-04-09
    SQL
  • MySql中添加用户、新建数据库、用户授权、删除用户以及修改密码的方法
    本篇内容介绍了“MySql中添加用户、新建数据库、用户授权、删除用户以及修改密码的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大...
    99+
    2024-04-02
  • 如何进行MySQL新建用户、授权和删除用户以及修改密码操作
    这篇文章将为大家详细讲解有关如何进行MySQL新建用户、授权和删除用户以及修改密码操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先要声明一下:一般情况...
    99+
    2024-04-02
  • mysql如何实现用户创建、修改、删除及授权操作
    这篇文章主要介绍了mysql如何实现用户创建、修改、删除及授权操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、mysql命令进行连接如...
    99+
    2024-04-02
  • Android无需读写权限通过临时授权读写用户文件详解
    目录正文这里插三段小说明,如果只想知道方法的可以直接跳过模拟获取用户的图片的逻辑模拟将文件写入用户目录的操作模拟获取用户文件夹控制权的操作通过Uri获取文件信息正文 在进行需求开发...
    99+
    2023-03-19
    Android临时授权读写用户文件 Android临时授权
  • MySQL中怎么实现用户账户管理和权限管理
    MySQL中怎么实现用户账户管理和权限管理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql 的权限体系大致分为5个层级:全局层级全局权...
    99+
    2024-04-02
  • MySQL数据库用户权限管理
    目录1、用户管理1.1、创建用户1.2、删除用户1.3、修改用户密码2、权限管理2.1、授予权限 grant2.2、取消权限 revoke2.3、刷新权限 flush3、密码丢失的解...
    99+
    2024-04-02
  • MySQL用户与权限管理介绍
    这篇文章主要介绍“MySQL用户与权限管理介绍”,在日常操作中,相信很多人在MySQL用户与权限管理介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL用户与权限管理...
    99+
    2024-04-02
  • 通过phpmyadmin更改管理员和用户密码的案例
    这篇文章给大家分享的是有关通过phpmyadmin更改管理员和用户密码的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先登录phpmyadmin管理后台,后台地址、用户名和...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作