MySQL是一種廣泛使用的關系型數據庫管理系統,它的名稱來源于創始人 Michael Widenius 女兒的名字 My 和 SQL(結構化查詢語言)。
MySQL 用戶身份驗證可以使用多種方法,其中兩種最常用的是用戶名和密碼(U / P)和主機名(H)授權。
mysql>CREATE USER 'root'@'localhost' IDENTIFIED BY 'password'; mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; mysql>FLUSH PRIVILEGES; mysql>CREATE USER 'bob'@'%' IDENTIFIED BY 'password'; mysql>GRANT SELECT ON mydb.* TO 'bob'@'%'; mysql>FLUSH PRIVILEGES;
上面的代碼創建了兩個用戶,一個是 root 用戶,可以在本地訪問全部數據庫,另一個是 bob 用戶,只能從遠程訪問 mydb 數據庫,而且只有 SELECT 權限。
另一種常用的授權方式是 Hostname(H)授權:
mysql>CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; mysql>CREATE USER 'user'@'hostname' IDENTIFIED BY 'password'; mysql>GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost', 'user'@'hostname'; mysql>FLUSH PRIVILEGES;
上面的代碼創建了一個用戶 user,在本地和指定的 hostname 上都有全部權限。
除了 U / P 和 H 授權方式外,MySQL 還支持其他多種授權方式,例如“通過 SSL 加密的鏈接(S)授權”,“基于 IP 地址的授權(I)”,“基于角色的授權(R)”等等。
授權是保護數據庫安全的重要措施,正確使用和控制授權將使你的數據庫更加安全。