MySQL 服務安裝及命令使用
課程來源說明
本節實驗后續至第17節實驗為本課程的進階篇,都基於 MySQL 官方參考手冊制作,並根據實驗樓環境進行測試調整改編。在此感謝 MySQL 的開發者,官方文檔和中文文檔的維護者。
參考內容列表:
- MySQL 官方文檔,目前實驗樓的實驗適配 MySQL 5.5 版本。
- MySQL 參考手冊中文版,譯者說明:這是MySQL參考手冊,原始參考手冊為英文版,與英文版參考手冊相比,本翻譯版可能不是最新的。它涉及MySQL 5.1至5.1.2-alpha版本。
感謝 MySQL 的開發者,官方文檔的維護者以及中文版本的翻譯者。部分內容來自這些參考資料並由實驗樓進行改編。
一、實驗簡介
本節實驗主要對 MySQL 的服務的安裝,啟動及運行命令進行說明和實踐操作。
二、MySQL介紹
- MySQL是一個關系型數據庫管理系統,由瑞典MySQLAB公司開發,目前屬於Oracle公司。MySQL是最流行的關系型數據庫管理系統,在WEB應用方面MySQL是最好的RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。
- MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
- MySQL所使用的SQL語言是用於訪問數據庫的最常用標准化語言。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站數據庫。由於其社區版的性能卓越,搭配PHP和Apache可組成良好的開發環境。
三、安裝MySQL
實驗樓環境已經為大家安裝好了mysql,無需大家再次安裝,以下安裝僅用於大家學習使用
1.Windows下安裝
可以從官網下載MySQL安裝軟件包。在Windows中安裝MySQL時,新用戶可以使用MySQL安裝幫助和MySQL Configuration Wizard
(配置向導)。
在Windows中安裝MySQL時,有3種MySQL 5.1安裝軟件包可供選擇:
-
基本安裝:該安裝軟件包的文件名類似於
mysql-essential-5.1.2-alpha-win32.msi
,包含在Windows中安裝MySQL所需要的最少的文件,包括配置向導。該安裝軟件包不包括可選組件,例如嵌入式服務器和基准套件。 -
完全安裝:該安裝軟件包的文件名類似於
mysql-5.1.2-alpha-win32.zip
,包含在Windows中安裝MySQL所需要的全部文件,包括配置向導。該安裝軟件包包括可選組件,例如嵌入式服務器和基准套件。 -
非自動安裝文件:該安裝軟件包的文件名類似於
mysql-noinstall-5.1.2-alpha-win32.zip
,包含完整安裝包中的全部文件,只是不包括配置向導。該安裝軟件包不包括自動安裝器,必須手動安裝和配置。
對於大多數用戶,建議選擇基本安裝。
如果你下載的安裝軟件包在Zip
文件中,你需要先解壓文件。如果有setup.exe
文件,雙擊啟動安裝過程。如果有.msi
文件,雙擊啟動安裝過程。
2.Linux下安裝
建議在Linux中使用RPM
(RedHat
系列)或者DEB
(Debian/Ubuntu
系列)包來安裝MySQL,在大多數情況,你只需要通過命令行的方式apy-get
安裝MySQL-server
和MySQL-client
軟件包來安裝MySQL。在標准安裝中不需要其它的包。如果你想要運行含更多功能的MySQL-Max
服務器,還應當安裝MySQL-Max RPM
。必須先安裝M MySQL-server RPM
再安裝該模塊。
四、實驗內容
1.啟動mysql服務器
實驗樓配置的環境中,默認mysql是沒有啟動的,我們首先在命令行啟動mysql服務器:
$ sudo service mysql start
2.連接與斷開服務器
為了連接服務器,當調用mysql時,通常需要提供一個MySQL用戶名並且很可能需要一個密碼。在這里我們使用root
用戶連接服務器(密碼環境設置為空,無需我們輸入密碼),輸入以下命令連接服務器:
$ mysql -u root
如果有效,你應該看見一些介紹信息:
mysql>
提示符告訴你mysql准備為你輸入命令。
成功地連接后,可以在mysql>
提示下輸入QUIT
(或\q
)隨時退出:
3.輸入查詢
這是一個簡單的命令,要求服務器告訴MySQL的版本號和當前日期。在mysql>
提示輸入如下命令並按回車鍵:
mysql> SELECT VERSION(), CURRENT_DATE;
能夠以大小寫輸入關鍵詞(建議關鍵詞大寫,以后你會感謝我的~)。下列查詢是等價的:
mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE;
這是另外一個查詢,它說明你能將mysql用作一個簡單的計算器:
mysql> SELECT SIN(PI()/4), (4+1)*5;
至此顯示的命令是相當短的單行語句。你可以在一行上輸入多條語句,只需要以一個分號間隔開各語句:
mysql> SELECT VERSION(); SELECT NOW();
不必全在一個行內給出一個命令,較長命令可以輸入到多個行中。mysql通過尋找終止分號而不是輸入行的結束來決定語句在哪兒結束。(換句話說,mysql接受自由格式的輸入:它收集輸入行但直到看見分號才執行。)
這里是一個簡單的多行語句的例子:
mysql> SELECT
-> USER()
-> ,
-> CURRENT_DATE;
在這個例子中,在輸入多行查詢的第一行后,要注意提示符如何從mysql>
變為->
,這正是mysql如何指出它沒見到完整的語句並且正在等待剩余的部分。提示符是你的朋友,因為它提供有價值的反饋,如果使用該反饋,將總是知道mysql正在等待什么。
如果你決定不想執行正在輸入過程中的一個命令,輸入\c
取消它:
mysql> SELECT
-> USER()
-> \c
mysql>
這里也要注意提示符,在你輸入\c
以后,它切換回到mysql>
,提供反饋以表明mysql准備接受一個新命令。
下表顯示出可以看見的各個提示符並簡述它們所表示的mysql的狀態:
當你打算在一個單行上發出一個命令時,通常會“偶然”出現多行語句,但是沒有終止分號。在這種情況中,mysql等待進一步輸入:
mysql> SELECT USER()
->
如果出現這種情況(你認為輸完了語句,但是只有一個->
提示符響應),很可能mysql正在等待分號。如果你沒有注意到提示符的提示,在意識到你需要做什么之前,你可能會呆坐一會兒。輸入一個分號完成語句,mysql將執行:
mysql> SELECT USER() -> ;
在字符串收集期間將出現 '>
和">
提示符(提示MySQL正等待字符串的結束)。在MySQL中,可以寫由'
或"
字符括起來的字符串 (例如,'hello'
或"goodbye"
),並且mysql允許輸入跨越多行的字符串。當看到一個 '>
或 ">
提示符時,這意味着已經輸入了包含以'
或"
括號字符開始的字符串的一行,但是還沒有輸入終止字符串的匹配引號。這顯示你粗心地省掉了一個引號字符。例如:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30; '>
如果你輸入SELECT
語句,然后按Enter(回車)鍵並等待結果,什么都沒有出現。不要驚訝,“為什么該查詢這么長呢?”,注意">
提示符提供的線索。它告訴你mysql期望見到一個未終止字符串的余下部分。(你看見語句中的錯誤嗎?字符串Smith
丟掉了第二個引號。)
走到這一步,你該做什么?最簡單的是取消命令。然而,在這種情況下,你不能只是輸入\c
,因為mysql作為它正在收集的字符串的一部分來解釋它!相反,應輸入關閉的引號字符(這樣mysql知道你完成了字符串),然后輸入\c
:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30; '> '\c mysql>
提示符回到mysql>
,顯示mysql准備好接受一個新命令了。
知道'>
和">
提示符的含義很重要,因為如果你錯誤地輸入一個未終止的字符串,任何后面輸入的行將要被mysql忽略——包括包含QUIT
的行!這可能令人相當困惑,特別是如果取消當前命令前還不知道你需要提供終止引號。
五、總結
本節內容比較簡單,主要對 MySQL 的服務的安裝,啟動及運行命令進行說明和實踐操作。
六、作業
- 在自己的開發環境中部署 MySQL 並進行基本操作