MySQL數(shù)據(jù)庫是一款關系型數(shù)據(jù)庫管理系統(tǒng),所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。軟件采用了雙授權政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。
MySQL數(shù)據(jù)庫特色
1、支持多平臺
MySQL支持超過20種開發(fā)平臺,包括Linux、Windows、FreeBSD、IBM AIX、HP-UX、Mac OS、OpenBSD、Solaris等,這使得用戶可以選擇多種平臺實現(xiàn)自己的應用,并且在不同平臺上開發(fā)的應用系統(tǒng)可以很容易在各種平臺之間進行移植。
2、價格低廉
MySQL采用GPL許可,很多情況下,用戶可以免費使用MySQL;對于一些商業(yè)用途,需要購買MySQL商業(yè)許可,但價格相對低廉。
3、支持各種開發(fā)語言
MySQL為各種流行的程序設計語言提供支持,為它們提供了很多API函數(shù),包括C、C++、Java、Perl、PHP等。
4、提供多種存儲器引擎
MySQL中提供了多種數(shù)據(jù)庫存儲引擎,各引擎各有所長,適用于不同的應用場合,用戶可以選擇最合適的引擎以得到最高性能。
5、高速
高速是MySQL的顯著特性,在MySQL中,使用了極快的“B樹”磁盤表(MyISAM)和索引壓縮;通過使用優(yōu)化的“單掃描多連接”,能夠?qū)崿F(xiàn)極快的連接。一直以來,高速都是MySQL吸引眾多用戶的特性之一,這一點可能只有親自使用才能體會。
6、支持大型數(shù)據(jù)庫
InnoDB存儲引擎將InnoDB表保存在一個表空間內(nèi),該表空間可由數(shù)個文件創(chuàng)建。這樣,表的大小就能超過單獨文件的最大容量。表空間還可以包括原始磁盤分區(qū),從而使構建很大的表成為可能,最大容量可以達到64TB。
7、安全
靈活和安全的權限和密碼系統(tǒng),允許基于主機的驗證。連接到服務器時,所有的密碼傳輸均采用加密形式,從而保證了密碼安全。
8、功能強大
強大的存儲引擎使MySQL能夠有效應用于任何數(shù)據(jù)庫應用系統(tǒng),高效完成各種任務,無論是大量數(shù)據(jù)的高速傳輸系統(tǒng),還是每天訪問量超過數(shù)億的高強度的搜索Web站點。
使用教程
1、啟動MySQL服務器
如何啟動MySQL。兩種方法:
一是用winmysqladmin,如果機器啟動時已自動運行,則可直接進入下一步操作。
二是在DOS方式下運行
d:/mysql/bin/mysqld
2、進入mysql交互操作界面
在DOS方式下,運行:
d:/mysql/bin/mysql -u root -p
出現(xiàn)提示符,此時已進入mysql的交互操作方式。
如果出現(xiàn) "ERROR 2003: Can‘t connect to MySQL server on ‘localhost‘ (10061)“,說明你的MySQL還沒有啟動。
3、退出MySQL操作界面
在mysql>提示符下輸入quit可以隨時退出交互操作界面:
mysql> quit
Bye
你也可以用control-D退出。
4、第一條命令
mysql> select version(),current_date();
+----------------+-----------------+
| version() | current_date() |
+----------------+-----------------+
| 3.23.25a-debug | 2001-05-17 |
+----------------+-----------------+
1 row in set (0.01 sec)
此命令要求mysql服務器告訴你它的版本號和當前日期。嘗試用不同大小寫操作上述命令,看結(jié)果如何。
結(jié)果說明mysql命令的大小寫結(jié)果是一致的。
5、多行語句
一條命令可以分成多行輸入,直到出現(xiàn)分號“;”為止:
mysql> select
-> USER()
-> ,
-> now()
->;
+--------------------+-----------------------------+
| USER() | now() |
+--------------------+-----------------------------+
| ODBC@localhost| 2001-05-17 22:59:15 |
+--------------------+-----------------------------+
6、使用SHOW語句找出在服務器上當前存在什么數(shù)據(jù)庫:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)
7、創(chuàng)建一個數(shù)據(jù)庫abccs
mysql> CREATE DATABASE abccs;
注意不同操作系統(tǒng)對大小寫的敏感。
8、選擇你所創(chuàng)建的數(shù)據(jù)庫
mysql> USE abccs
Database changed
此時你已經(jīng)進入你剛才所建立的數(shù)據(jù)庫abccs.
9、 創(chuàng)建一個數(shù)據(jù)庫表
首先看現(xiàn)在你的數(shù)據(jù)庫中存在什么表:
mysql> SHOW TABLES;
Empty set (0.00 sec)
說明剛才建立的數(shù)據(jù)庫中還沒有數(shù)據(jù)庫表。
更新日志
1、針對InnoDB進行只讀查詢的Sysbench測試中,速度可達每秒500,000次查詢,為之前(250,000次)的兩倍;
2、線性擴展到64 CPU線程;
3、改進的復制吞吐量:在線程中使用新的多線程事務性的復制事件處理程序,并可以在并行的工作線程中運行復雜的事務;
4、改進了數(shù)據(jù)表的在線修改功能:可在線重命名索引和擴大varchar的數(shù)據(jù)類型;
5、新增的內(nèi)存儀表:支持跟蹤mysqld中的內(nèi)存分配和使用情況;
6、存儲程序儀表:可提供存儲程序內(nèi)部指令的執(zhí)行細節(jié);
7、可使用GET STACKED DIAGNOSTICS作為新的工具,來創(chuàng)建和清理存儲程序中的診斷信息;
8、改進了觸發(fā)器的動態(tài)控制:支持在同一個表中對一個事件類型應用多個觸發(fā)器;
9、實時的執(zhí)行分析;
10、改進了JSON Explain Data:可以在優(yōu)化器中添加總查詢成本、單表查詢成本、總數(shù)據(jù)量等參數(shù)來獲得更詳細的信息。