溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL與客戶機的連接過程

發(fā)布時間:2021-09-15 07:57:47 來源:億速云 閱讀:142 作者:chen 欄目:數(shù)據(jù)庫

這篇文章主要講解了“MySQL與客戶機的連接過程”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MySQL與客戶機的連接過程”吧!

建立和中止與服務(wù)器的連接

1、如何使用客戶機建立連接

為了連接到服務(wù)器,從外殼程序(即從 UNIX 提示符,或從 Windows 下的 DOS 控制臺)激活 mysql 程序。命令如下:

shell>mysql

又如,直接連接一個數(shù)據(jù)庫:

shell> mysql db_name

其中的“$”在本書中代表外殼程序提示符。這是 UNIX 標準提示符之一;另一個為“#”。在 Windows 下,提示符類似 “c:>”。

2、客戶機最常使用的選項:主機、用戶和密碼

為了連接服務(wù)器,當你調(diào)用mysql時,你通常將需要提供一個MySQL用戶名和很可能,一個口令。如果服務(wù)器運行在不是你登錄的一臺機器上,你也將需要指定主機名。聯(lián)系你的管理員以找出你應(yīng)該使用什么連接參數(shù)進行連接(即,那個主機,用戶名字和使用的口令)。一旦你知道正確的參數(shù),你應(yīng)該能象這樣連接:

shell> mysql -h host -u user -p
Enter password: ********

********代表你的口令;當mysql顯示Enter password:提示時輸入它。

在剛開始學習 MySQL 時,大概會為其安全系統(tǒng)而煩惱,因為它使您難于做自己想做的事。(您必須取得創(chuàng)建和訪問數(shù)據(jù)庫的權(quán)限,任何時候連接到數(shù)據(jù)庫都必須給出自己的名字和口令。)但是,在您通過數(shù)據(jù)庫錄入和使用自己的記錄后,看法就會馬上改變了。這時您會很欣賞 MySQL 阻止了其他人窺視(或者更惡劣一些,破壞?。┠馁Y料。

下面介紹選項的含義:

-h host_name(可選擇形式:--host=host_name)

希望連接的服務(wù)器主機。如果此服務(wù)器運行在與 mysql 相同的機器上,這個選項一般可省略。

-u user_name(可選擇的形式:--user=user_name)

您的 MySQL 用戶名。如果使用 UNIX 且您的 MySQL 用戶名與注冊名相同,則可以省去這個選項;mysql 將使用您的注冊名作為您的 MySQL 名。

在 Windows 下,缺省的用戶名為 ODBC。這可能不一定非常有用??稍诿钚猩现付ㄒ粋€名字,也可以通過設(shè)置 USER 變量在環(huán)境變量中設(shè)置一個缺省名。如用下列 set 命令指定 paul 的一個用戶名:

-p(可選擇的形式:--password)

這個選項告訴 mysql 提示鍵入您的 MySQL 口令。注意:可用 -pyour_password 的形式(可選擇的形式:--password=your_password)在命令行上鍵入您的口令。但是,出于安全的考慮,最好不要這樣做。選擇 -p 不跟口令告訴 mysql 在啟動時提示您鍵入口令。例如:

在看到 Enter password: 時,鍵入口令即可。(口令不會顯到屏幕,以免給別人看到。)請注意,MySQL 口令不一定必須與 UNIX 或 Windows 口令相同。

如果完全省略了 -p 選項,mysql 就認為您不需要口令,不作提示。

請注意:-h 和 -u 選項與跟在它們后面的詞有關(guān),無論選項和后跟的詞之間是否有空格。而 -p 卻不是這樣,如果在命令行上給出口令,-p 和口令之間一定不加空格。

例如,假定我的 MySQL 用戶名和口令分別為 tom 和 secret,希望連接到在我注冊的同一機器上運行的服務(wù)器上。下面的 mysql 命令能完成這項工作:

shell>mysql –u tom -p

在我鍵入命令后,mysql 顯示 Enter password: 提示鍵入口令。然后我鍵入口令(****** 表明我鍵入了 secret)。

如果一切順利的話,mysql 顯示一串消息和一個“mysql>”提示,表示它正等待我發(fā)布查詢。完整的啟動序列如下所示:

為了連接到在其他某個機器上運行的服務(wù)器,需要用 -h 指定主機名。如果該主機為 mysql.domain.net,則相應(yīng)的命令如下所示:

shell>mysql –h mysql.domain.net –u tom -p

在后面的說明 mysql 命令行的多數(shù)例子中,為簡單起見,我們打算省去 -h、-u 和 -p 選項。并且假定您將會提供任何所需的選項。

有很多設(shè)置賬號的方法,從而不必在每次運行 mysql 時都在連接參數(shù)中進行鍵入。這個問題在前面已經(jīng)介紹過,你只需在選項文件中提供參數(shù),具體請看3.2.2。您可能會希望現(xiàn)在就跳到該節(jié),以便找到一些更易于連接到服務(wù)器的辦法。

3、結(jié)束會話

在建立了服務(wù)器的一個連接后,可在任何時候鍵入下列命令來結(jié)束會話:

quit exit

還可以鍵入 Control-D 來退出,至少在 UNIX 上可以這樣。

利用選項文件簡化連接

在激活 mysql 時,有可能需要指定諸如主機名、用戶名或口令這樣的連接參數(shù)。運行一個程序需要做很多輸入工作,這很快就會讓人厭煩。利用選項文件可以存儲連接參數(shù),減少輸入工作。

例如,對于使用mysqladmin客戶機來管理數(shù)據(jù)庫,那么你很快會厭煩每次使用這么長的命令行:

shell>mysql –u root –p varialbles
Enter password: *********


你也許會選擇使用全局選項文件來存貯你的參數(shù):

[mysqladmin]

#也可以用[client],為所有的客戶機存儲參數(shù)

user=root
password=yourpassword


這樣執(zhí)行mysqladmin variables就不會顯示任何存儲拒絕的錯誤,并且你可以用root用戶身份維護數(shù)據(jù)庫了。

且慢,你立刻會發(fā)現(xiàn),這樣做是一個很大的安全,因為任何可以讀取選項文件的用戶都可以獲得你的密碼!解決方法是,只提供password選項不提供密碼:

[admin]
user=root
password


這樣你在命令行執(zhí)行時,會提示你數(shù)據(jù)密碼:

shell>mysql varialbles
Enter password: *********


但是,你不能不提供password選項,否則你還是要在命令行中提供-p選項。

利用 mysql 的輸入行編輯器

mysql 具有內(nèi)建的 GNU Readline 庫,允許對輸入行進行編輯??梢詫Ξ斍颁浫氲男羞M行處理,或調(diào)出以前輸入的行并重新執(zhí)行它們(原樣執(zhí)行或做進一步的修改后執(zhí)行)。在錄入一行并發(fā)現(xiàn)錯誤時,這是非常方便的;您可以在按 Enter 鍵前,在行內(nèi)退格并進行修正。如果錄入了一個有錯的查詢,那么可以調(diào)用該查詢并對其進行編輯以解決問題,然后再重新提交它。(如果您在一行上鍵入了整個查詢,這是最容易的方法。)

表1中列出了一些非常有用的編輯序列,除了此表中給出的以外,還有許多輸入編輯命令。利用因特網(wǎng)搜索引擎,應(yīng)該能夠找到 Readline手冊的聯(lián)機版本。此手冊也包含在 Readline 分發(fā)包中,可在 . org/ 的 Gnu Web 站點得到。

表1  mysql 輸入編輯命令


鍵   序   列 說      明
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)下一行
光標左移(向后)
光標右移(向前)
向后移一個詞
向前移一個詞
將光標移到行頭
將光標移到行尾
刪除光標下的字符
刪除光標左邊的字符
刪詞
刪除光標左邊的詞
刪除光標到行尾的所有字符
撤消最后的更改;可以重復(fù)


下面的例子描述了輸入編輯的一個簡單的使用。假定用 mysql 輸入了下列查詢:

如果在按 Enter 前,已經(jīng)注意到將“president”錯拼成了“persident”,則可按左箭頭或 Ctrl-B 多次移動光標到“s”的左邊。然后按 Delete 兩次刪除“er”,鍵入“re”改正錯誤,并按 Enter 發(fā)布此查詢。如果沒注意到錯拼就按了 Enter,也不會有問題。在 mysql 顯示了錯誤消息后,按上箭頭或 Ctrl-P 調(diào)出該行,然后對其進行編輯。

輸入行編輯在 mysql 的 Windows 版中不起作用,但是可從 MySQL Web 站點取得免費的 cygwin_32 客戶機分發(fā)包。在該分發(fā)包中的mysqlc 程序與 mysql 一樣,但它支持輸入行編輯命令。

批處理模式連接

在前面的章節(jié)中,你交互式地使用mysql輸入查詢并且查看結(jié)果。你也可以以批模式運行mysql。為了做到這些,把你想要運行的命令放在一個文件中,然后告訴mysql從文件讀取它的輸入:

shell> mysql < batch-file


如果你需要在命令行上指定連接參數(shù),命令可能看起來像這樣:

shell> mysql -h host -u user -p < batch-file
Enter password: ********


當你這樣使用mysql時,你正在創(chuàng)建一個腳本文件,然后執(zhí)行腳本。

為什么要使用一個腳本?有很多原因:

如果你重復(fù)地運行查詢(比如說,每天或每周),把它做成一個腳本使得你在每次執(zhí)行它時避免重新鍵入。

你能通過拷貝并編輯腳本文件從類似的現(xiàn)有的查詢生成一個新查詢。

當你正在開發(fā)查詢時,批模式也是很有用的,特別對多行命令或多行語句序列。如果你犯了一個錯誤,你不必重新打入所有一切,只要編輯你的腳本來改正錯誤,然后告訴mysql再次執(zhí)行它。

如果你有一個產(chǎn)生很多輸出的查詢,你可以通過一個分頁器而不是盯著它翻屏到你屏幕的頂端來運行輸出:

$ mysql < batch-file | more

你能捕捉輸出到一個文件中進行更一步的處理:

shell> mysql < batch-file > mysql

感謝各位的閱讀,以上就是“MySQL與客戶機的連接過程”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對MySQL與客戶機的連接過程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI