Mysql8.0創建用戶限制指定IP可訪問

因爲數據庫的安全的問題,不建議使用root用戶用來連接數據庫進行操作,所以需要創建一個新用戶,並且需要指定ip,這樣就會更安全,因爲不是指定的ip,那麼就連接不到mysql

  • 因爲有多個服務器需要連接到mysql, 並且最好是使用一個賬號來連接,因爲賬號太多不易管理,所以就需要創建一個賬號,並且指定多個ip限制訪問。根據一些教程根本就行不通…,最後根據自己摸索和查詢資料,總結一下操作:

Mysql版本基於mysql8.0,其他版本基本一致,有可能就是語法不一致

創建用戶並指定多IP訪問

  1. 創建用戶並設置密碼模式(mysql8.0的密碼加密方式不一致)
    CREATE USER 'test'@'139.xxx.xxx.xx' IDENTIFIED WITH mysql_native_password BY 'qwe123';

說明:
- 'test'@'139.xxx.xxx.xx' 指定賬號和可訪問的ip
- mysql_native_password BY 'qwe123'; 指定加密規則爲mysql_native_password 並且密碼爲qwe123

  1. 給創建的賬號賦權

    • 這裏直接賦所有的權限
      GRANT ALL PRIVILEGES ON *.* TO 'test'@'139.xxx.xxx.xx'
      如果需要指定權限,就將ALL改爲SELECT DELETE UPDATE INSERT等四種權限任選即可
  2. 如果還需要設置到另一個ip, 那麼就需要重複上面的步驟:

    雖然是重複步驟,但是用戶名、密碼保持和上面一致,不會重複

    (1)CREATE USER 'test'@'129.xxx.xxx.xx' IDENTIFIED WITH mysql_native_password BY 'qwe123';

    (2)GRANT ALL PRIVILEGES ON *.* TO 'test'@'129.xxx.xxx.xx'

  • 因爲在mysql中一個用戶名對應一個ip 纔算是一條記錄,就相當於創建了多個記錄,但是賬號、密碼都相同,可訪問的IP不同。

另: 如果創建錯了,可以使用下面語句刪除用戶:
drop user 'test'@'106.xxx.xx.xx';

  • 刪除指定ip的用戶

這樣就完成了相同的賬號密碼,但是指定多個IP訪問啦,親測有效~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章