1. 程式人生 > 其它 >mysql面試指南-使用者相關

mysql面試指南-使用者相關

如何在給定場景下為某使用者授權?

  • 如何定義mysql資料賬號?

    • 使用者名稱@可訪問控制列表。(5.7之前只有16個位元組。5.8之後32個位元組)
      • %:代表可以從所有外部主機訪問
      • 192.168.1.%:表示可以從192.168.1網段訪問
      • localhost:db伺服器本地訪問
    • 使用CREATE USER命令建立使用者
  • mysql常用的使用者許可權

    • admin

      • Create User 建立新的使用者許可權
      • Grant ooption 為其他使用者授權許可權
      • super 管理伺服器的許可權
    • DDL

      • Create 新建資料庫,表的許可權
      • Alter 修改表結構的許可權
      • Drop 刪除資料庫和表的許可權
      • Index 建立和刪除索引的許可權
    • DML

      • Select 查詢表中資料的許可權
      • Insert 向表中插入資料的許可權
      • Update 更新表中資料的許可權
      • Delete 刪除表中資料的許可權
      • Execure 執行儲存過程的許可權

      (檢視mysql的許可權表。 show privileges;)

  • 如何為使用者授權?

    • 遵循著小許可權原則
    • 使用grant 命令對使用者授權
      • grant select, insert, update, delete on db.tb to user@ip;-----給許可權
      • revoke delete on db.tb from user@ip; ----收回許可權

如何保證資料庫賬號的安全?

  • 資料庫使用者管理流程規範

    1. 最小許可權原創

    2. 密碼強度策略

    3. 密碼過期原則

      (5.7限制了密碼過期時間)

      ​ (5.8限制了密碼使用次數)

    4. 限制歷史密碼重用原則

如何從一個例項遷移資料庫賬號到另一個例項?

解決思路

  • 匯出使用者建立及授權語句
    • Pt-show-grants u=root,p=123,h=localhost