成人免费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

2011-03-17 15:16:38

2010-10-21 12:03:35

SQL Server視

2023-09-24 13:07:53

NginxMySQLIP

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協議限制

2025-02-28 05:50:12

2011-01-21 13:29:03

Sendmail

2010-10-11 10:52:25

MySQL分區

2010-10-15 14:39:55

MySQL單表大小

2017-04-01 17:00:39

oracle監聽IP地址

2010-11-12 11:36:29

SQL Server視

2011-03-21 10:26:10

SQL Server視圖管理

2010-07-13 14:22:47

SQL Server

2021-11-26 09:10:19

Linux文件命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.精品国产 | xx视频在线观看 | 国产一区二区电影 | 国产精品不卡 | 国产一区二区av | 成人在线观看免费视频 | 久久精品性视频 | 亚洲一区二区不卡在线观看 | 四虎永久在线精品免费一区二 | 免费一级片 | 久久成人免费观看 | 精品在线免费看 | 国产精品视频一区二区三区四区国 | 男人天堂视频在线观看 | 91视频亚洲| aa级毛片毛片免费观看久 | 日韩中文在线 | 欧美一区二区三区免费电影 | 中文字幕免费中文 | 成人av电影天堂 | 成人免费视频网站在线观看 | 国产精品一区二区在线免费观看 | 欧美性一级 | 久久精品视频网站 | 91精品久久久久久久久久入口 | 国产精品精品视频一区二区三区 | 欧美日韩精品一区 | www.一区二区三区 | 91国产精品| 国产福利一区二区 | 不卡一二三区 | 国产二区在线播放 | 久久久精品影院 | 91中文字幕在线 | 激情婷婷| 亚洲色欲色欲www | 亚洲国产精品一区二区久久 | 日韩中文在线观看 | 免费在线一区二区三区 | 中文字幕在线网 | 国产福利视频 |