程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL 存取權限系統

MySQL 存取權限系統

編輯:關於MYSQL數據庫

  1. MySQL 用戶名和口令

  * MySQL使用於認證目的的用戶名,與Unix用戶名(登錄名字)或Windows用戶名無關。缺省地,大多數MySQL客戶嘗試使用當前Unix用戶名作為MySQL用戶名登錄,但是這僅僅為了方便,客戶程序允許用-u或--user選項指定一個不同的名字。及與安全的考慮,所有的MySQL用戶名都應該有口令。

  * MySQL用戶名最長可以是16各字符;典型地,Unix用戶名限制為8個字符。

  * MySQL口令與Unix口令沒關系。

  * MySQL加密口令使用了一個Unix登錄期間所用的不同算法,PASSWord()和ENCRYPT()

  函數PASSWord(str)

  從純文本口令str計算一個口令字符串。該函數被用於為了在user授權表的PassWord列中存儲口令而加密MySQL口令。

  MySQL> select PASSWord('badpwd');

  -> '7f84554057dd964b'

  PASSWORD()加密是非可逆的。PASSWord()不以與Unix口令加密的相同的方法執行口令加密。你不應該假定如果你的Unix 口令和你的MySQL口令是一樣的,PASSWord()將導致與在Unix口令文件存儲的相同的加密值。見ENCRYPT()。

  ENCRYPT(str[,salt])

  使用Unix crypt()系統調用加密str。salt參數應該是一個有2個字符的字符串。(MySQL 3.22.16中,salt可以長於2個字符。)

  MySQL> select ENCRYPT("hello");

  -> 'VxuFAJXVARROc'

  如果crypt()在你的系統上不可用,ENCRYPT()總是返回NULL。ENCRYPT()只保留str起始8個字符而忽略所有其他,至少在某些系統上是這樣。這將由底層的crypt()系統調用的行為決定。

  1. 與MySQL服務器連接

  語法格式:

  shell> MySQL [-h ho

[1] [2] [3] [4] [5] 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved