標籤:http os io strong 資料 art ar 代碼
MySQL遠端存取,也就是通過ip訪問MySQL服務,MySQL對於安全的要求是非常嚴格的,需要授權。
1.本地訪問
Sql代碼
- GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY ‘admin‘ WITH GRANT OPTION;
- FLUSH PRIVILEGES;
上述命令的意思是為admin使用者授權,以localhost方式訪問資料庫,密碼為admin,這是我們推薦的訪問方式,不直接暴露IP,提高資料庫伺服器的安全性。
2.遠端存取
如果資料庫伺服器與應用伺服器物理層面分割,也就是不在同一台伺服器的時候,我們需要通過ip方式訪問,這個ip就是資料庫伺服器主機IP。
Sql代碼
- GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY ‘admin‘ WITH GRANT OPTION;
- FLUSH PRIVILEGES;
當然,這裡授予admin使用者WITH GRANT OPTION許可權,欠穩妥!如果一個使用者從遠程登入修改了資料庫表結構等等,是非常有風險的!
通常不建議授予授予其他使用者權限權力,即:
Sql代碼
- GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY ‘admin‘;
- FLUSH PRIVILEGES;
3.任意訪問
如果不限制ip訪問,授權某個使用者可以以任意ip訪問該服務,可以這樣寫:
Sql代碼
- GRANT ALL PRIVILEGES ON *.* TO [email protected]‘%‘ IDENTIFIED BY ‘admin‘;
- FLUSH PRIVILEGES;
注意單引號!
3.取消授權
當然,有授權,就一定有取消授權:
Sql代碼
- REVOKE ALL ON *.* FROM [email protected];
- FLUSH PRIVILEGES;