學習使用數據庫MySQL
2024-07-24 12:54:49
供稿:網友
[摘要]:mysql是一個遵循gpl的開源軟件、在linux平臺底下它是lamp(lamp 在英語中是“燈”的意思,但是在 it 行業當然不是那么簡單的一個意思了。這個術語在德國十分流行。代表了 linux 平臺上的 apache 網站服務器;mysql 數據庫以及 perl 、python 或者 php 編程語言的結合)組合重要組成部分。同時它提供的c api可以結合glade/gtk+,可以代替windows平臺的vb+access/ms sql server組合。本篇文章介紹數據庫mysql及其各種工具的簡單用法.
一、為什么使用mysql:mysql是一種高性能的數據庫,因為如下原因。它可以和市場下任何同類的產品競爭。
l 速度。mysql本身并不復雜。http://www.mysql.com/information/crash-me.php上可以找到mysql和其他數據庫產品進行競爭的數據的相關信息
l 可升級性。mysql能夠同時處理無限數量的擁護和5億個紀錄
l 簡單性。mysql的核心是一個小而快速的數據庫,面向那些了解數據庫工作的人員,是他們能夠有效的工作和編寫高級功能。
l 價值:mysql是遵循gpl協議的自由軟件,你可以下載并且使用它。
l 可移植性。因為mysql是開放源代碼的自由軟件,可以運行于所有的平臺,如果不能運行于你的平臺,你可以修改、編譯源代碼。
二、mysql缺少什么
mysql所保護的都是基于權限的,不是基于市場的。mysql能做什么和不能做什么是我們在使用之前需要清楚的。
l 圖形界面:mysql開始提供類似ms sql server的界面,尚處于測試中
l 事務處理:mysql不支持事務處理,但是2000年5月9日的發行說明中,mysql宣稱版本3.23.15“試驗性支持”sleepy software的berkely db數據庫。版本3.23.25完全實現了這一個功能。
l 存儲過程:mysql沒有存儲過程機制。mysql開發團體的“to do”列表中有一種存儲過程機制,它將包含在版本4中。
l 觸發器:觸發器是一種程序,通常存在于一種嵌入式腳本語言如zend或者python中。有消息說這種觸發器會應用于版本4中,使用zend腳本引擎。
l 參照完整性:將來支持
l 記錄等級鎖定:mysql不支持記錄等級鎖定。將來會改善,這都是開放源代碼的力量。
l 子查詢:mysql不支持子查詢。但是通過它提供的c語言接口可以很容易的彌補。
l 視圖:mysql不支持視圖。但是它在mysql開發團體的to do列表中。
很清楚地看到mysql對于轉向linux的平臺應用的將來的意義。
三、mysql數據庫系統的安裝
這里只討論在linux系統下的mysql數據庫系統的安裝,可以通過rpm包安裝和tar包安裝,這里只討論rpm方式安裝binary。
通過rpm包安裝,你需要下面三個文件:
1、 mysql-3.23.25-1.i386.rpm這是一個服務器部分。它包含接受請求和返回結果的實際數據庫服務器
2、 mysql-client-3.23.25-1.i386.rpm這是客戶端部分。
3、 mysql-devel-3.23.25-1.i386.rpm.從這個文件中,你需要一個c api文件。
安裝過程如下:首先安裝服務器部分,然后安裝客戶端部分,最后需要安裝c程序開發需要的文件。
1、 安裝服務器:
鍵入如下命令:#rpm –ivh mysql-3.23.25-1.i386.rpm
2、 安裝客戶端
鍵入如下命令:#rpm –ivh mysql-client-3.23.25-1.i386.rpm
4、 安裝c開發文件
鍵入如下命令:#rpm –ivh mysql-devel-3.23.25-1.i386.rpm
5、 卸載mysql: 首先需要關閉服務器
#mysqladmin shutdown
#rpm –e –vv mysql-3.23.25-1
#rpm –e –vv mysql-client-3.23.25-1
6、 安裝賬號管理mysql服務器:從rpm安裝。mysql用戶賬號會自動創建。這是一個用來運行mysql的服務的用戶。
更改mysqladmin口令:為了增強安全性,需要為mysql的根用戶改變口令,這可以通過下面的兩個命令來完成
%mysqladmin –u root –p password ‘new-password’
或者
%mysqladmin –u root –h servername –p password ‘new-password’
四、啟動和停止mysql服務器daemon
使用rpm安裝,mysql服務器dameon自動為你啟動和停止,redhat的系統在/etc/init.d/mysqld的mysql服務器腳本。
如果由于某些原因,你需要啟動mysql dameon,是用如下命令
%safe_mysqld –user=mysql &
要關閉mysql服務器dameon,發送入下命令:
%mysqladmin shutdown
五、應用于mysql的工具和程序
除了mysql服務器(mysqld)。mysql程序組包含大量的程序,來管理數據庫和數據庫服務器。當通過rpm安裝mysql時,這些程序被安裝。isamchk和myisamchk是驗證和重修數據庫表和文件的工具。mysqlaccess 用于授權、更改和撤銷用戶許可權限。mysqladmin是一種高級管理工具,如創建數據庫和關閉數據庫等。mysqldump用于在緊急關頭倒出數據和備份表,它在sql insert語句中輸出數據,所使用的方法能夠將輸出文件反饋到mysql服務器,并且行也將被裝載。mysqlimport是一種整體裝載工具,而mysqlshow顯示關于數據庫對象的信息(如標)。
1. isamchk:查看和修理被毀壞的表
如果由于某些未知的原因,是數據庫表被毀壞,這個工具能夠對它進行修補。容納基本數據的數據文件叫做索引順序存取法(index sequential access method,isam)文件。
mysql在3.23和更高版本中將myisam文件格式作為了默認選項。需要使用myisamchk工具,而不是isamchk。isam表結構被myisam結構替換。將來isam將不被支持。下面重點介紹一下myisam文件結構:
isam舊文件結構:數據庫中的每一個表實際上是三個文件的組合:*.isd文件包含數據,*.ism文件包含關于數據結構的信息,比如密鑰和索引,*.frm文件包含表的結構。
查看/var/lib/mysql/test_db/目錄中發現三個文件
tb1_books_1.frm 88bytes
tb1_books_1.myi 1024 bytes
tb1_books_1.myd 8604 bytes
*.frm和舊的文件結構相同,*.myi文件和*.ism文件一致,并且*.myd文件符合舊的*.isd文件。
2. myisamchk
這是myisam存儲格式的isamchk的更新版本工具,它的基本用法如下所示:
myisamchk [options] tables..myi
利用如下命令可以得到你的系統中可以使用的全部選項列表
3. mysqlaccess這個工具最值得討論的就是-howto命令行,當你執行一下命令的時候,你就得到一個如何使用這個工具的例子:
%mysqlaccess –howto
mysqlaccess的使用方法相當簡單:
mysqlaccess [host [user [db]]] options.。如果沒有提供選項,那么就必須提供user和db。如果沒有指定主機,則用本地服務器。
4. mysqladmin
這個命令的常規用法如下:
mysqladmin [option] command,選項是標準的unix命令方式:-v用于詳細說明,-t=xx指連接到服務器的超時時間。使用命令
%mysqladmin -?| more可以看到所有的列表。command部分用于規則的條件。現免得列表中是常用的command
命令
說明
create db_name
創建一個叫做db_name的數據庫
drop db_name
刪除數據庫名稱
flush-logs
清除所有日志
flush-privileges或者reload
重載授權表,或者執行相同操作的命令
ping
查看mysqld是否啟動
shutdown
關閉數據庫
status
查看服務器的狀態
5. mysqldump
這是一個用于備份、移植或者重載數據庫的工具。命令用法有以下兩種:
%mysqldump [options] database [tables]
或者
%mysqldump [options]。在使用第二種方法時,你必須提供-databases或者—all-databases選項
6. mysqlimport
這是mysql的大量輸入工具,它類似于ms sql server的bcp工具。它是load data語句的命令行接口,用法如下:
%mysqlimport [options] db_name file_name
7. mysqlshow
mysqlshow 給出了關于數據庫、表或者列的信息,它是show語句的命令行接口
用法:
%mysqlshow [options] [database_name [table_name [column]]]
8. myisampack
myisampack可以把一個myisam表壓縮到一個相對小的空間。他有點象gzip,只是它運行于表中。它運行于.myd文件,并且把它壓縮到一個很小的尺寸。運行myisampack之后,你可以查看表,但是不能更新表。
版權所有,如需轉載,請注明出處。