新聞中心
這篇文章主要講解了“MySQL與客戶機(jī)的連接過(guò)程”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“MySQL與客戶機(jī)的連接過(guò)程”吧!
沅陵網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,沅陵網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為沅陵超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的沅陵做網(wǎng)站的公司定做!
建立和中止與服務(wù)器的連接
1、如何使用客戶機(jī)建立連接
為了連接到服務(wù)器,從外殼程序(即從 UNIX 提示符,或從 Windows 下的 DOS 控制臺(tái))激活 mysql 程序。命令如下:
shell>mysql
又如,直接連接一個(gè)數(shù)據(jù)庫(kù):
shell> mysql db_name
其中的“$”在本書(shū)中代表外殼程序提示符。這是 UNIX 標(biāo)準(zhǔn)提示符之一;另一個(gè)為“#”。在 Windows 下,提示符類(lèi)似 “c:>”。
2、客戶機(jī)最常使用的選項(xiàng):主機(jī)、用戶和密碼
為了連接服務(wù)器,當(dāng)你調(diào)用mysql時(shí),你通常將需要提供一個(gè)MySQL用戶名和很可能,一個(gè)口令。如果服務(wù)器運(yùn)行在不是你登錄的一臺(tái)機(jī)器上,你也將需要指定主機(jī)名。聯(lián)系你的管理員以找出你應(yīng)該使用什么連接參數(shù)進(jìn)行連接(即,那個(gè)主機(jī),用戶名字和使用的口令)。一旦你知道正確的參數(shù),你應(yīng)該能象這樣連接:
shell> mysql -h host -u user -p
Enter password: ********
********代表你的口令;當(dāng)mysql顯示Enter password:提示時(shí)輸入它。
在剛開(kāi)始學(xué)習(xí) MySQL 時(shí),大概會(huì)為其安全系統(tǒng)而煩惱,因?yàn)樗鼓y于做自己想做的事。(您必須取得創(chuàng)建和訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限,任何時(shí)候連接到數(shù)據(jù)庫(kù)都必須給出自己的名字和口令。)但是,在您通過(guò)數(shù)據(jù)庫(kù)錄入和使用自己的記錄后,看法就會(huì)馬上改變了。這時(shí)您會(huì)很欣賞 MySQL 阻止了其他人窺視(或者更惡劣一些,破壞!)您的資料。
下面介紹選項(xiàng)的含義:
-h host_name(可選擇形式:--host=host_name)
希望連接的服務(wù)器主機(jī)。如果此服務(wù)器運(yùn)行在與 mysql 相同的機(jī)器上,這個(gè)選項(xiàng)一般可省略。
-u user_name(可選擇的形式:--user=user_name)
您的 MySQL 用戶名。如果使用 UNIX 且您的 MySQL 用戶名與注冊(cè)名相同,則可以省去這個(gè)選項(xiàng);mysql 將使用您的注冊(cè)名作為您的 MySQL 名。
在 Windows 下,缺省的用戶名為 ODBC。這可能不一定非常有用。可在命令行上指定一個(gè)名字,也可以通過(guò)設(shè)置 USER 變量在環(huán)境變量中設(shè)置一個(gè)缺省名。如用下列 set 命令指定 paul 的一個(gè)用戶名:
-p(可選擇的形式:--password)
這個(gè)選項(xiàng)告訴 mysql 提示鍵入您的 MySQL 口令。注意:可用 -pyour_password 的形式(可選擇的形式:--password=your_password)在命令行上鍵入您的口令。但是,出于安全的考慮,最好不要這樣做。選擇 -p 不跟口令告訴 mysql 在啟動(dòng)時(shí)提示您鍵入口令。例如:
在看到 Enter password: 時(shí),鍵入口令即可。(口令不會(huì)顯到屏幕,以免給別人看到。)請(qǐng)注意,MySQL 口令不一定必須與 UNIX 或 Windows 口令相同。
如果完全省略了 -p 選項(xiàng),mysql 就認(rèn)為您不需要口令,不作提示。
請(qǐng)注意:-h 和 -u 選項(xiàng)與跟在它們后面的詞有關(guān),無(wú)論選項(xiàng)和后跟的詞之間是否有空格。而 -p 卻不是這樣,如果在命令行上給出口令,-p 和口令之間一定不加空格。
例如,假定我的 MySQL 用戶名和口令分別為 tom 和 secret,希望連接到在我注冊(cè)的同一機(jī)器上運(yùn)行的服務(wù)器上。下面的 mysql 命令能完成這項(xiàng)工作:
shell>mysql –u tom -p
在我鍵入命令后,mysql 顯示 Enter password: 提示鍵入口令。然后我鍵入口令(****** 表明我鍵入了 secret)。
如果一切順利的話,mysql 顯示一串消息和一個(gè)“mysql>”提示,表示它正等待我發(fā)布查詢(xún)。完整的啟動(dòng)序列如下所示:
為了連接到在其他某個(gè)機(jī)器上運(yùn)行的服務(wù)器,需要用 -h 指定主機(jī)名。如果該主機(jī)為 mysql.domain.net,則相應(yīng)的命令如下所示:
shell>mysql –h mysql.domain.net –u tom -p
在后面的說(shuō)明 mysql 命令行的多數(shù)例子中,為簡(jiǎn)單起見(jiàn),我們打算省去 -h、-u 和 -p 選項(xiàng)。并且假定您將會(huì)提供任何所需的選項(xiàng)。
有很多設(shè)置賬號(hào)的方法,從而不必在每次運(yùn)行 mysql 時(shí)都在連接參數(shù)中進(jìn)行鍵入。這個(gè)問(wèn)題在前面已經(jīng)介紹過(guò),你只需在選項(xiàng)文件中提供參數(shù),具體請(qǐng)看3.2.2。您可能會(huì)希望現(xiàn)在就跳到該節(jié),以便找到一些更易于連接到服務(wù)器的辦法。
3、結(jié)束會(huì)話
在建立了服務(wù)器的一個(gè)連接后,可在任何時(shí)候鍵入下列命令來(lái)結(jié)束會(huì)話:
quit exit
還可以鍵入 Control-D 來(lái)退出,至少在 UNIX 上可以這樣。
利用選項(xiàng)文件簡(jiǎn)化連接
在激活 mysql 時(shí),有可能需要指定諸如主機(jī)名、用戶名或口令這樣的連接參數(shù)。運(yùn)行一個(gè)程序需要做很多輸入工作,這很快就會(huì)讓人厭煩。利用選項(xiàng)文件可以存儲(chǔ)連接參數(shù),減少輸入工作。
例如,對(duì)于使用mysqladmin客戶機(jī)來(lái)管理數(shù)據(jù)庫(kù),那么你很快會(huì)厭煩每次使用這么長(zhǎng)的命令行:
shell>mysql –u root –p varialbles
Enter password: *********
你也許會(huì)選擇使用全局選項(xiàng)文件來(lái)存貯你的參數(shù):
[mysqladmin]
#也可以用[client],為所有的客戶機(jī)存儲(chǔ)參數(shù)
user=root
password=yourpassword
這樣執(zhí)行mysqladmin variables就不會(huì)顯示任何存儲(chǔ)拒絕的錯(cuò)誤,并且你可以用root用戶身份維護(hù)數(shù)據(jù)庫(kù)了。
且慢,你立刻會(huì)發(fā)現(xiàn),這樣做是一個(gè)很大的安全,因?yàn)槿魏慰梢宰x取選項(xiàng)文件的用戶都可以獲得你的密碼!解決方法是,只提供password選項(xiàng)不提供密碼:
[admin]
user=root
password
這樣你在命令行執(zhí)行時(shí),會(huì)提示你數(shù)據(jù)密碼:
shell>mysql varialbles
Enter password: *********
但是,你不能不提供password選項(xiàng),否則你還是要在命令行中提供-p選項(xiàng)。
利用 mysql 的輸入行編輯器
mysql 具有內(nèi)建的 GNU Readline 庫(kù),允許對(duì)輸入行進(jìn)行編輯。可以對(duì)當(dāng)前錄入的行進(jìn)行處理,或調(diào)出以前輸入的行并重新執(zhí)行它們(原樣執(zhí)行或做進(jìn)一步的修改后執(zhí)行)。在錄入一行并發(fā)現(xiàn)錯(cuò)誤時(shí),這是非常方便的;您可以在按 Enter 鍵前,在行內(nèi)退格并進(jìn)行修正。如果錄入了一個(gè)有錯(cuò)的查詢(xún),那么可以調(diào)用該查詢(xún)并對(duì)其進(jìn)行編輯以解決問(wèn)題,然后再重新提交它。(如果您在一行上鍵入了整個(gè)查詢(xún),這是最容易的方法。)
表1中列出了一些非常有用的編輯序列,除了此表中給出的以外,還有許多輸入編輯命令。利用因特網(wǎng)搜索引擎,應(yīng)該能夠找到 Readline手冊(cè)的聯(lián)機(jī)版本。此手冊(cè)也包含在 Readline 分發(fā)包中,可在 . org/ 的 Gnu Web 站點(diǎn)得到。
表1 mysql 輸入編輯命令
鍵 序 列 說(shuō) 明
Up 箭頭,Ctrl-p
Down 箭頭,Ctrl-N
Left 箭頭,Ctrl-B
Right 箭頭,Ctrl-F
Escape Ctrl-B
Escape Ctrl-F
Ctrl-A
Ctrl-E
Ctrl-D
Delete
Escape D
Escape Backspace
Ctrl-K
Ctrl-_ 調(diào)前面的行
調(diào)下一行
光標(biāo)左移(向后)
光標(biāo)右移(向前)
向后移一個(gè)詞
向前移一個(gè)詞
將光標(biāo)移到行頭
將光標(biāo)移到行尾
刪除光標(biāo)下的字符
刪除光標(biāo)左邊的字符
刪詞
刪除光標(biāo)左邊的詞
刪除光標(biāo)到行尾的所有字符
撤消最后的更改;可以重復(fù)
下面的例子描述了輸入編輯的一個(gè)簡(jiǎn)單的使用。假定用 mysql 輸入了下列查詢(xún):
如果在按 Enter 前,已經(jīng)注意到將“president”錯(cuò)拼成了“persident”,則可按左箭頭或 Ctrl-B 多次移動(dòng)光標(biāo)到“s”的左邊。然后按 Delete 兩次刪除“er”,鍵入“re”改正錯(cuò)誤,并按 Enter 發(fā)布此查詢(xún)。如果沒(méi)注意到錯(cuò)拼就按了 Enter,也不會(huì)有問(wèn)題。在 mysql 顯示了錯(cuò)誤消息后,按上箭頭或 Ctrl-P 調(diào)出該行,然后對(duì)其進(jìn)行編輯。
輸入行編輯在 mysql 的 Windows 版中不起作用,但是可從 MySQL Web 站點(diǎn)取得免費(fèi)的 cygwin_32 客戶機(jī)分發(fā)包。在該分發(fā)包中的mysqlc 程序與 mysql 一樣,但它支持輸入行編輯命令。
批處理模式連接
在前面的章節(jié)中,你交互式地使用mysql輸入查詢(xún)并且查看結(jié)果。你也可以以批模式運(yùn)行mysql。為了做到這些,把你想要運(yùn)行的命令放在一個(gè)文件中,然后告訴mysql從文件讀取它的輸入:
shell> mysql < batch-file
如果你需要在命令行上指定連接參數(shù),命令可能看起來(lái)像這樣:
shell> mysql -h host -u user -p < batch-file
Enter password: ********
當(dāng)你這樣使用mysql時(shí),你正在創(chuàng)建一個(gè)腳本文件,然后執(zhí)行腳本。
為什么要使用一個(gè)腳本?有很多原因:
如果你重復(fù)地運(yùn)行查詢(xún)(比如說(shuō),每天或每周),把它做成一個(gè)腳本使得你在每次執(zhí)行它時(shí)避免重新鍵入。
你能通過(guò)拷貝并編輯腳本文件從類(lèi)似的現(xiàn)有的查詢(xún)生成一個(gè)新查詢(xún)。
當(dāng)你正在開(kāi)發(fā)查詢(xún)時(shí),批模式也是很有用的,特別對(duì)多行命令或多行語(yǔ)句序列。如果你犯了一個(gè)錯(cuò)誤,你不必重新打入所有一切,只要編輯你的腳本來(lái)改正錯(cuò)誤,然后告訴mysql再次執(zhí)行它。
如果你有一個(gè)產(chǎn)生很多輸出的查詢(xún),你可以通過(guò)一個(gè)分頁(yè)器而不是盯著它翻屏到你屏幕的頂端來(lái)運(yùn)行輸出:
$ mysql < batch-file | more
你能捕捉輸出到一個(gè)文件中進(jìn)行更一步的處理:
shell> mysql < batch-file > mysql
感謝各位的閱讀,以上就是“MySQL與客戶機(jī)的連接過(guò)程”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)MySQL與客戶機(jī)的連接過(guò)程這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
分享題目:MySQL與客戶機(jī)的連接過(guò)程
本文網(wǎng)址:http://www.ef60e0e.cn/article/ppccsg.html