首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 存取權限系統架構詳解

     編輯:MySQL 資料庫相關知識

MySQL 權限系統核心功能

MySQL 擁有先進但非標準的安全/權限系統。主要功能:驗證連線用戶身分,授予特定資料庫的 SELECT、INSERT、UPDATE、DELETE 權限。延伸功能包含匿名用戶支援、LOAD DATA INFILE 授權及管理操作權限控管。

MySQL 用戶名與密碼機制

  • MySQL 用戶名與作業系統登入帳號無關。客戶端預設嘗試用目前 Unix 用戶名登入,可用 -u 指定其他名稱。所有用戶必須設定密碼,否則任何人可用任意無密碼帳號連線。
  • MySQL 用戶名最長 16 字元(Unix 通常 8 字元)。
  • MySQL 密碼與系統登入密碼無關聯,加密演算法亦不同(參見 PASSWORD()、ENCRYPT() 函數)。

連線參數與預設值

shell> mysql [-h host_name] [-u user_name] [-pyour_pass]
# 等價長參數:--host=host_name --user=user_name --password=your_pass
# 注意:-p 與密碼間無空格

安全警告:命令列指定密碼不安全,系統其他用戶可透過 ps auxww 窺視。建議使用選項檔案。

參數預設值
主機localhost
用戶名目前 Unix 登入名
密碼無(未指定 -p 時)

對 Unix 用戶 joe,以下指令等價:

mysql -h localhost -u joe
mysql -h localhost
mysql -u joe
mysql

持久化連線參數設定

選項檔案 ~/.my.cnf

[client]
host=host_name
user=user_name
password=your_pass

環境變數

  • MYSQL_HOST:主機
  • USER:用戶名(僅 Windows)
  • MYSQL_PWD:密碼(不安全,不建議使用)

優先順序:命令列 > 選項檔案 > 環境變數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved