|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-01-24, 04:01 AM | #1 (permalink) |
榮譽會員
|
學習使用資料庫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之後,你可以檢視表,但是不能更新表。 |
__________________ |
|
送花文章: 3,
|