成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL修改賬號的IP限制條件

數據庫 MySQL
在MySQL中,需要修改MySQL的一個用戶的權限,需要限制特定IP地址才能訪問,下面結合簡單的案例,具體演示一下. 下面測試環境為MySQL 5.6.20. 其它版本應該是一樣的。

[[385212]]

本文轉載自微信公眾號「DBA閑思雜想錄」,作者瀟湘隱者。轉載本文請聯系DBA閑思雜想錄公眾號。

在MySQL中,需要修改MySQL的一個用戶的權限,需要限制特定IP地址才能訪問,下面結合簡單的案例,具體演示一下. 下面測試環境為MySQL 5.6.20. 其它版本應該是一樣的。如有其它版本與下面測試結果有出入,請以實際環境為準。

我們先創建一個測試用戶LimitIP,只允許192.168段的IP地址訪問,具體權限如下所示:

  1. mysql> GRANT SELECT ON MyDB.* TO LimitIP@'192.168.%' IDENTIFIED BY 'LimitIP'
  2. Query OK, 0 rows affected (0.01 sec) 
  3.   
  4. mysql> GRANT INSERT ,UPDATE,DELETE ON MyDB.kkk TO LimitIP@'192.168.%'
  5. Query OK, 0 rows affected (0.00 sec) 
  6.   
  7. mysql>  
  8. mysql> flush privileges
  9. Query OK, 0 rows affected (0.00 sec) 
  10.   
  11. mysql>  
  12.   
  13. mysql> show grants for LimitIP@'192.168.%'
  14. +----------------------------------------------------------------------------------------------------------------+ 
  15. | Grants for LimitIP@192.168.%                                                                                   | 
  16. +----------------------------------------------------------------------------------------------------------------+ 
  17. GRANT USAGE ON *.* TO 'LimitIP'@'192.168.%' IDENTIFIED BY PASSWORD '*72DDE03E02CC55A9478A82F3F4EBE7F639249DEC' | 
  18. GRANT SELECT ON `MyDB`.* TO 'LimitIP'@'192.168.%'                                                              | 
  19. GRANT INSERTUPDATEDELETE ON `MyDB`.`kkk` TO 'LimitIP'@'192.168.%'                                          | 
  20. +----------------------------------------------------------------------------------------------------------------+ 
  21. rows in set (0.00 sec) 
  22.   
  23. mysql> 

 

假設現在收到一個需求:這個用戶只允許這個IP地址192.168.103.17訪問,于是我打算更新mysql.user表,如下所示:

  1. mysql> select user, host from mysql.user where user='LimitIP'
  2. +---------+-----------+ 
  3. user    | host      | 
  4. +---------+-----------+ 
  5. | LimitIP | 192.168.% | 
  6. +---------+-----------+ 
  7. 1 row in set (0.00 sec) 
  8.   
  9. mysql> update mysql.user set host='192.168.103.17' where user='LimitIP'
  10. Query OK, 1 row affected (0.02 sec) 
  11. Rows matched: 1  Changed: 1  Warnings: 0 
  12.   
  13. mysql> flush privileges
  14. Query OK, 0 rows affected (0.01 sec) 
  15.   
  16. mysql> select user, host from user where user='LimitIP'
  17. ERROR 1046 (3D000): No database selected 
  18. mysql> use mysql; 
  19. Reading table information for completion of table and column names 
  20. You can turn off this feature to get a quicker startup with -A 
  21.   
  22. Database changed 
  23. mysql> select user, host from user where user='LimitIP'
  24. +---------+----------------+ 
  25. user    | host           | 
  26. +---------+----------------+ 
  27. | LimitIP | 192.168.103.17 | 
  28. +---------+----------------+ 
  29. 1 row in set (0.00 sec) 
  30.   
  31. mysql> show grants for LimitIP@'192.168.103.17'
  32. +---------------------------------------------------------------------------------------------------------------------+ 
  33. | Grants for LimitIP@192.168.103.17                                                                                   | 
  34. +---------------------------------------------------------------------------------------------------------------------+ 
  35. GRANT USAGE ON *.* TO 'LimitIP'@'192.168.103.17' IDENTIFIED BY PASSWORD '*72DDE03E02CC55A9478A82F3F4EBE7F639249DEC' | 
  36. +---------------------------------------------------------------------------------------------------------------------+ 
  37. 1 row in set (0.00 sec) 
  38.   
  39. mysql>  

 

上面測試發現,如果這樣只修改mysql.user表, 那么之前的權限沒有了,如下所示,如果你查詢mysql.db、 mysql.tables_priv 發現Host的字段值依然為192.168.%

  1. mysql>  select * from mysql.db where user='LimitIP'\G; 
  2. *************************** 1. row *************************** 
  3.                  Host: 192.168.% 
  4.                    Db: MyDB 
  5.                  User: LimitIP 
  6.           Select_priv: Y 
  7.           Insert_priv: N 
  8.           Update_priv: N 
  9.           Delete_priv: N 
  10.           Create_priv: N 
  11.             Drop_priv: N 
  12.            Grant_priv: N 
  13.       References_priv: N 
  14.            Index_priv: N 
  15.            Alter_priv: N 
  16. Create_tmp_table_priv: N 
  17.      Lock_tables_priv: N 
  18.      Create_view_priv: N 
  19.        Show_view_priv: N 
  20.   Create_routine_priv: N 
  21.    Alter_routine_priv: N 
  22.          Execute_priv: N 
  23.            Event_priv: N 
  24.          Trigger_priv: N 
  25. 1 row in set (0.00 sec) 
  26.   
  27. ERROR:  
  28. No query specified 
  29.   
  30. mysql> select * from mysql.tables_priv where user='LimitIP'\G; 
  31. *************************** 1. row *************************** 
  32.        Host: 192.168.% 
  33.          Db: MyDB 
  34.        User: LimitIP 
  35.  Table_name: kkk 
  36.     Grantor: root@localhost 
  37.   Timestamp: 0000-00-00 00:00:00 
  38.  Table_priv: Insert,Update,Delete 
  39. Column_priv:  
  40. 1 row in set (0.00 sec) 
  41.   
  42. ERROR:  
  43. No query specified 

所以我繼續修改 mysql.db、 mysql.tables_priv 表,然后測試驗證終于OK了(請見下面測試步驟),當然如果賬戶的權限不止這幾個層面,你可能還必須修改例如mysql.columns_priv、mysql.procs_priv等表

  1. mysql> show grants for LimitIP@'192.168.%'
  2. ERROR 1141 (42000): There is no such grant defined for user 'LimitIP' on host '192.168.%' 
  3. mysql>  
  4. mysql>  
  5. mysql> update mysql.db set host='192.168.103.17' where user='LimitIP'
  6. Query OK, 1 row affected (0.00 sec) 
  7. Rows matched: 1  Changed: 1  Warnings: 0 
  8.   
  9. mysql> update mysql.tables_priv set host='192.168.103.17' where user='LimitIP'
  10. Query OK, 1 row affected (0.00 sec) 
  11. Rows matched: 1  Changed: 1  Warnings: 0 
  12.   
  13. mysql> flush privileges
  14. Query OK, 0 rows affected (0.00 sec) 
  15.   
  16. mysql> show grants for LimitIP@'192.168.103.17'
  17. +---------------------------------------------------------------------------------------------------------------------+ 
  18. | Grants for LimitIP@192.168.103.17                                                                                   | 
  19. +---------------------------------------------------------------------------------------------------------------------+ 
  20. GRANT USAGE ON *.* TO 'LimitIP'@'192.168.103.17' IDENTIFIED BY PASSWORD '*72DDE03E02CC55A9478A82F3F4EBE7F639249DEC' | 
  21. GRANT SELECT ON `MyDB`.* TO 'LimitIP'@'192.168.103.17'                                                              | 
  22. GRANT INSERTUPDATEDELETE ON `MyDB`.`kkk` TO 'LimitIP'@'192.168.103.17'                                          | 
  23. +---------------------------------------------------------------------------------------------------------------------+ 
  24. rows in set (0.00 sec) 
  25.   
  26. mysql>  

 

如果需要修改用戶的IP限制,其實更新mysql相關權限表不是上上策,其實有更好的方法,那就是RENAME USER Syntax

  1. mysql> RENAME USER 'LimitIP'@'192.168.103.17' TO 'LimitIP'@'192.168.103.18'
  2. Query OK, 0 rows affected (0.00 sec) 
  3.   
  4. mysql> FLUSH PRIVILEGES
  5. Query OK, 0 rows affected (0.00 sec) 
  6.   
  7. mysql> show grants for 'LimitIP'@'192.168.103.18'
  8. +---------------------------------------------------------------------------------------------------------------------+ 
  9. | Grants for LimitIP@192.168.103.18                                                                                   | 
  10. +---------------------------------------------------------------------------------------------------------------------+ 
  11. GRANT USAGE ON *.* TO 'LimitIP'@'192.168.103.18' IDENTIFIED BY PASSWORD '*72DDE03E02CC55A9478A82F3F4EBE7F639249DEC' | 
  12. GRANT SELECT ON `MyDB`.* TO 'LimitIP'@'192.168.103.18'                                                              | 
  13. GRANT INSERTUPDATEDELETE ON `MyDB`.`kkk` TO 'LimitIP'@'192.168.103.18'                                          | 
  14. +---------------------------------------------------------------------------------------------------------------------+ 
  15. rows in set (0.00 sec) 
  16.   
  17. mysql>  

 

責任編輯:武曉燕 來源: DBA閑思雜想錄
相關推薦

2009-08-15 10:40:00

2010-05-31 13:38:17

2021-06-30 13:13:55

IP地址網絡IP限制

2013-11-18 10:35:31

2023-09-24 13:07:53

NginxMySQLIP

2011-03-17 15:16:38

2010-10-21 12:03:35

SQL Server視

2010-09-30 10:45:28

DB2列的修改

2011-08-08 12:44:30

IP安全策略遠程登錄

2021-01-27 10:56:05

Linux運維Linux系統

2010-06-09 14:55:11

TCP IP協議限制

2011-01-21 13:29:03

Sendmail

2017-04-01 17:00:39

oracle監聽IP地址

2010-10-11 10:52:25

MySQL分區

2010-10-15 14:39:55

MySQL單表大小

2025-02-28 05:50:12

2011-03-21 10:26:10

SQL Server視圖管理

2010-11-12 11:36:29

SQL Server視

2010-07-13 14:22:47

SQL Server

2021-11-26 09:10:19

Linux文件命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 男人天堂网址 | 久久国产一区 | 国产三级 | 91在线电影| 亚洲国产一区二区三区在线观看 | 精品国产一区二区三区久久影院 | 免费视频中文字幕 | 国产欧美一区二区三区在线看蜜臀 | 羞羞视频免费在线 | 精品在线观看一区二区 | 久久久久无码国产精品一区 | 隔壁老王国产在线精品 | 日韩国产在线 | 成人精品国产免费网站 | 成人精品在线观看 | 国产精品日韩欧美 | 欧美一级网站 | 久久久久久国产 | 国产免费拔擦拔擦8x高清 | 美女福利视频一区 | 婷婷狠狠 | 欧美日本一区 | 中文字幕 欧美 日韩 | 成人免费激情视频 | 日韩在线小视频 | 成人夜晚看av | 午夜精品一区二区三区在线视频 | 久久精品国产久精国产 | 欧美成人精品一区二区三区 | 成人免费视频网站在线观看 | 羞羞的视频在线观看 | 欧洲亚洲视频 | 亚洲国产欧美国产综合一区 | 午夜精品一区二区三区在线视频 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 91在线免费视频 | 国产精品久久久久久久久久久久久 | 国产91一区 | 国产精品夜夜春夜夜爽久久电影 | 男女视频91| 日韩一区二区三区视频 |