程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql 客戶端程序與數據庫服務器連接

Mysql 客戶端程序與數據庫服務器連接

編輯:MySQL綜合教程

本文通過演示如何使用mysql客戶程序與數據庫服務器連接。mysql(有時稱為“終端監視器”或只是“監視”)是一個交互式程序,允許你連接一個MySQL服務器,運行查詢並察看結果。mysql可以用於批模式:你預先把查詢放在一個文件中,然後告訴mysql執行文件的內容。使用mysql的兩個方法都在這裡涉及。

  為了看清由mysql提供的一個選擇項目表了,用--help選項調用它:

  shell> mysql --help

  本章假定mysql已經被安裝在你的機器上,並且有一個MySQL服務器你可以連接。如果這不是真的,聯絡你的MySQL管理員。(如果你是管理員,你將需要請教這本手冊的其他章節。)

  建立和中止與服務器的連接

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

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

  shell>mysql

  又如,直接連接一個數據庫:

  shell> mysql db_name

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

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

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

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

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

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

  下面介紹選項的含義:

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

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

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

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

  在 Windows 下,缺省的用戶名為 ODBC。這可能不一定非常有用。可在命令行上指定一個名字,也可以通過設置 USER 變量在環境變量中設置一個缺省名。如用下列 set 命令指定 paul 的一個用戶名:

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

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

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

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

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

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

  shell>mysql –u tom -p

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

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

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

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

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

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

  3、結束會話

  在建立了服務器的一個連接後,可在任何時候鍵入下列命令來結束會話:

  quit exit

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

  利用選項文件簡化連接

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

  例如,對於使用mysqladmin客戶機來管理數據庫,那麼你很快會厭煩每次使用這麼長的命令行:

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

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

  [mysqladmin]

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

user=root
password=yourpassword

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

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

[mysqladmin]
user=root
password

  這樣你在命令行執行時,會提示你數據密碼:

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

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

  利用 mysql 的輸入行編輯器

  • 共2頁:
  • 上一頁
  • 1
  • 2
  • 下一頁

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