MySQL基本用法-系統安全性
MySQL安全原則:
- 資料庫伺服器通常包含關鍵資料,確保這些資料的安全和完整需要利用訪問控制
- MySQL伺服器的安全基礎是:使用者應該對他們所需要的資料具有適當的訪問權,既不能多也不能少。換句話說,使用者不能對過多的資料具有過多的訪問權
- 不要使用root 應該嚴肅對待root登入的使用。 僅在絕對需要時使用它(或許在你不能登入其他管理賬號時使用) 不應該在日常的MySQL操作中使用root,不然一旦改名或者誤刪,系統容易崩潰
瞭解MySQL的安全性
1. 管理賬戶
cmd模式:
cd進入mysql\bin檔案位置
輸入 mysql -u root -p
當前無密碼狀態直接在輸入密碼提示時回車跳過(此時root賬號比較危險)
此時可以用root檢視和操作所有內建table
use mysql
(進去mysql資料庫)
select Host, User, Password from user
(檢視所有user資訊)
2. 建立使用者賬號
create user username identified by 'your password';
此時一個新的使用者建立成功,名字是username,%(Host)代表任何機器,只要是在網路上能和你的機器相連的機器都可以用此使用者名稱登入
所以可以根據對方的ip建立使用者:
create user username@'ip address' identified by 'your password'
也可以根據相關機器名建立使用者:
create user username@'dbserver' identified by 'your password'
3. 刪除賬號
drop user username@'ip address'
drop user username@'dbserver'
刪除本機使用者直接drop user username
4. 設定訪問許可權
當我們用非root user登入時,我們可以用root賬號來給這些使用者設定許可權
給與dbname這個資料庫的所有資源
grant select on dbname.* to username;
給與dbname這個資料庫的一個table的資源
grant select on dbname.tablename to username;
收回許可權
revoke select on dbname.* from username
revoke select on dbname.tablename from username
5. 更改密碼
set password for username@'localhost' = Password('new password');
localhost可換成別的ip或者servername
特殊情況處理
- 普通使用者密碼丟失
登入管理員賬戶或者許可權比user更高的使用者來重設密碼
set password for username@'localhost' = Password('new password');
- Root密碼丟失
- 先在windows系統的服務中關閉mysql服務(win10 搜尋services)
- 進入mysql\bin\my.ini
- 在[mysqld]下面的路徑下方加入
skip-grant-tables - 啟動mysql服務
- 在命令列
mysql -u root -p
- 忽略輸入密碼那步
use mysql
update user set password = password('new password') where user = 'root'
- 停止mysql服務
- 進入my.ini 註釋掉skip-grant-tables
- 重新啟動mysql服務
相關文章
- MySQL的mysqldump工具的基本用法MySql
- 【MySQL】資料型別的基本用法MySql資料型別
- Git 開源的版本控制系統-02-base usage 基本用法Git
- AS400 中系統安全性
- Promise基本用法Promise
- Git基本用法Git
- mongoose基本用法Go
- tcpdump基本用法TCP
- GORM基本用法GoORM
- 密碼系統的安全性(一)密碼
- 密碼系統的安全性(二)密碼
- MongoDB的基本用法MongoDB
- webpack的基本用法Web
- rematch的基本用法REM
- Promise的基本用法Promise
- jquery ajax基本用法jQuery
- scp命令基本用法
- mysqldump的基本用法MySql
- MySQL安全性指南MySql
- MySQL8.0-分組函式ROLLUP的基本用法(GROUPING)MySql函式
- 線上CRM系統的安全性高嗎?
- CentOS6.4系統MySQL主從複製基本配置實踐CentOSMySql
- Quartz:基本用法總結quartz
- JAVA CDI @Inject基本用法Java
- React context基本用法ReactContext
- Object.defineProperty基本用法Object
- ElasticSearch之基本用法APIElasticsearchAPI
- UIScrollView的基本用法UIView
- vim配置及基本用法
- iOS系統相簿基本操作iOS
- 物聯網作業系統安全性分析作業系統
- ERP系統資料安全性如何保障
- Oracle資料庫系統的安全性(轉)Oracle資料庫
- 初步學習密碼系統的安全性密碼
- Laravel 事件系統用法總結Laravel事件
- <Linux系統isosize指令用法>Linux
- <Linux系統minfo命令用法>Linux
- <Linux系統stat指令用法>Linux