WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機
Mysql簡介
導(dǎo)航: 上一頁 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
MySQL名字的來歷[ ]
MySQL最初的開發(fā)者的意圖是用mSQL和他們自己的快速低級例程(ISAM)去連接表格。不管怎樣,在經(jīng)過一些測試后,開發(fā)者得出結(jié)論:mSQL并沒有他們需要的那么快和靈活。這導(dǎo)致了一個使用幾乎和mSQL一樣的API接口的用于他們的數(shù)據(jù)庫的新的SQL接口的產(chǎn)生,這樣,這個API被設(shè)計成允許為用于mSQL而寫的第三方代碼更容易移植到MySQL。
MySQL這個名字是怎么來的已經(jīng)不清楚了。基本指南和大量的庫和工具帶有前綴“my”已經(jīng)有10年以上,而且不管怎樣,MySQL AB創(chuàng)始人之一的Monty Widenius的女兒也叫My。這兩個到底是哪一個給出了MySQL這個名字至今依然是個密,包括開發(fā)者在內(nèi)也不知道。
MySQL的海豚標(biāo)志的名字叫“sakila”,它是由MySQL AB的創(chuàng)始人從用戶在“海豚命名”的競賽中建議的大量的名字表中選出的。獲勝的名字是由來自非洲斯威士蘭的開源軟件開發(fā)者Ambrose Twebaze提供。根據(jù)Ambrose所說,Sakila來自一種叫SiSwati的斯威士蘭方言,也是在Ambrose的家鄉(xiāng)烏干達(dá)附近的坦桑尼亞的Arusha的一個小鎮(zhèn)的名字。
MySQL的概述[ ]
MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL的官方網(wǎng)站的網(wǎng)址是:www.mysql.com
MySQL的特性[ ]
1.使用C和C++編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)
3.為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
4.支持多線程,充分利用CPU資源
5.優(yōu)化的SQL查詢算法,有效地提高查詢速度
6.既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名
7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑
8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具
9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫
MySQL的應(yīng)用[ ]
與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP作為服務(wù)器端腳本解釋器。由于這四個軟件都是遵循GPL的開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。
MySQL管理[ ]
可以使用命令行工具管理MySQL數(shù)據(jù)庫(命令mysql 和 mysqladmin),也可以從MySQL的網(wǎng)站下載圖形管理工具M(jìn)ySQL Administrator和MySQL Query Browser。
phpMyAdmin是由php寫成的MySQL資料庫系統(tǒng)管理程式,讓管理者可用Web介面管理MySQL資料庫。
phpMyBackupPro也是由PHP寫成的,可以透過Web介面創(chuàng)建和管理數(shù)據(jù)庫。它可以創(chuàng)建偽cronjobs,可以用來自動在某個時間或周期備份MySQL 數(shù)據(jù)庫。
另外,還有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。
Mysql存儲引擎[ ]
MyISAM Mysql的默認(rèn)數(shù)據(jù)庫,最為常用。擁有較高的插入,查詢速度,但不支持事務(wù)
InnoDB 事務(wù)型數(shù)據(jù)庫的首選引擎,支持ACID事務(wù),支持行級鎖定
BDB 源自Berkeley DB,事務(wù)型數(shù)據(jù)庫的另一種選擇,支持COMMIT和ROLLBACK等其他事務(wù)特性
Memory 所有數(shù)據(jù)置于內(nèi)存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會在Mysql重新啟動時丟失
Merge 將一定數(shù)量的MyISAM表聯(lián)合而成一個整體,在超大規(guī)模數(shù)據(jù)存儲時很有用
Archive 非常適合存儲大量的獨立的,作為歷史記錄的數(shù)據(jù)。因為它們不經(jīng)常被讀取。Archive擁有高效的插入速度,但其對查詢的支持相對較差
Federated 將不同的Mysql服務(wù)器聯(lián)合起來,邏輯上組成一個完整的數(shù)據(jù)庫。非常適合分布式應(yīng)用
Cluster/NDB 高冗余的存儲引擎,用多臺數(shù)據(jù)機器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大,安全和性能要求高的應(yīng)用
CSV 邏輯上由逗號分割數(shù)據(jù)的存儲引擎
BlackHole 黑洞引擎,寫入的任何數(shù)據(jù)都會消失,一般用于記錄binlog做復(fù)制的中繼
另外,Mysql的存儲引擎接口定義良好。有興趣的開發(fā)者通過閱讀文檔編寫自己的存儲引擎。
Mysql最常見的應(yīng)用架構(gòu)[ ]
單點(Single),適合小規(guī)模應(yīng)用
復(fù)制(Replication),適合中小規(guī)模應(yīng)用
集群(Cluster),適合大規(guī)模應(yīng)用
mysql歷史版本[ ]
MySQL公司目前在同時開發(fā)兩個版本的軟件,4.1版以及5.0版。4.1版本的代碼已經(jīng)發(fā)布并有望在8個月后公布最終代碼。而5.0版本的最后產(chǎn)品將在6個月后發(fā)布。
MySQL4.1版本中增加了不少新的性能,包括對主鍵的更高速度的緩存,對子查詢的更好的支持,以及應(yīng)網(wǎng)絡(luò)約會網(wǎng)站所要求的,基于地理信息的查詢。
而其同步開發(fā)的5.0版本則把目標(biāo)對準(zhǔn)了企業(yè)用戶,對于4.1版本中的所有新特性,5.0版本悉數(shù)收入囊中,并且獨具以下特點:對外鍵的良好支持;系統(tǒng)自動報錯機制以及對存儲過程的充分支持。