最近一直比較喜歡MySQL,當時是因為PHP,不過后來發現在linux下配置mysql也是件很不錯的事情,再到后來通過網上資料配置成功Oracle9,當然了配置好了,我覺得還是應該仔細的去研究一下:
也許我們剛裝上mysql,無論是在linux,還是在windows下,它的權限系統問題是我們首先應該接觸的
MySQL權限系統的主要功能是證實連接到一臺給定主機的一個用戶,并且賦予該用戶在一個數據庫上select、 insert、update和delete的權限。
附加的功能包括有一個匿名的用戶和對于MySQL特定的功能例如LOAD DATA INFILE
進行授權及管理操作的能力。
Mysql在安裝成功后,默認的用戶名是root,沒有密碼,當然了你自己可以在以后的學習過程中改掉它。
不過我還是先看了一下mysql與服務器的連接部分,如果安裝完成,當然要試著進行一下連接了:
當你想要存取一個MySQL服務器時,MySQL客戶程序一般要求你指定連接參數:你想要聯接的主機、你的用戶名和你的口令
shell>mysql? [-h hostname] [-u username] [-ppassword]
其中-h, -u
和-p
選項的另一種形式是--host=host_name
、--user=user_name
和--password=your_pass
。注意在-p
或--password=
與跟隨它后面的口令之間沒有空格。
在命令行上指定一個口令是不安全的!隨后在你系統上的任何用戶可以通過打類似這樣的命令發現你的口令:ps auxww
對于命令行沒有的聯接參數,mysql
使用缺省值:
- 缺省主機名是
localhost
。
- 缺省用戶名是你的Unix登錄名。
- 如果沒有
-p
,則沒有提供口令。
在Unix系統上,當你進行一個連接時,你可以指定要使用的不同的缺省值,這樣你不必每次在你調用一個客戶程序是在命令行上輸入他們。這可以有很多方法做到:
-
你能在你的主目錄下“.my.cnf”的配置文件的
[client]
小節里指定連接參數。文件的相關小節看上去可能像這樣: [client]
host=host_name
user=user_name
password=your_pass
-
口令的安全性問題:以一種暴露的可被其他用戶發現的方式指定你的口令是不妥當的。當你運行客戶程序時,你可以使用下列方法指定你的口令,還有每個方法的風險評估:
- 使用一個在命令行上
-pyour_pass
或--password=your_pass
的選項。這很方便但是不安全,因為你的口令對系統狀態程序(例如ps
)變得可見,它可以被其他的用戶調用來顯示命令行。(一般MySQL客戶在他們的初始化順序期間用零覆蓋命令行參數,但是仍然有一個短暫間隔時間內參數值可見的。)
- 使用一
個-p
或--password
選項(沒有指定your_pass
值)。在這種情況下,客戶程序請求來自終端的口令: shell>mysql - u user_name - p
Enter password: ********
客戶回應“*”字符到作為輸入你的口令的終端使得旁觀者不能看見它。因為它對其他用戶不可見,與在命令行上指定它相比,這樣進入你的口令更安全。然而,這個輸入一個口令的方法僅僅為你交互式運行程序是合適的。如果你想要從非交互式運行的一個腳本調用一個客戶,就沒有從終端輸入入口令的機會。
-
在一個配置文件中存儲你的口令。例如,你可你的主目錄的“.my.cnf”文件中的
[client]
節列出你的口令: [client]
password=your_pass
如果你在“.my.cnf”里面存儲口令,文件應該不是組或世界可讀或可寫的。保證文件的存取模式是400
或600
。見4.15.4 選項文件。
- 你可在
MYSQL_PWD
環境變量中存儲口令,但是這個方法必須想到是極不安全的且應該不使用。ps
的某些版本包括顯示運行進程的環境的選項;如果你設定MYSQL_PWD
,你的口令將對所有人是顯而易見的,甚至在沒有這樣一個版本的ps
系統上,假設沒有其他方法觀察到進程環境是不明智的。
總之,最安全的方法是讓客戶程序提示口令或在一個適當保護的“.my.cnf”文件中指定口令
posted on 2006-09-08 15:51
水煮三國 閱讀(237)
評論(0) 編輯 收藏 所屬分類:
Sybase