欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL入門完全指南及Linux系統(tǒng)下基本的安裝教程

 更新時(shí)間:2015年11月18日 11:31:46   作者:z永  
這篇文章主要介紹了MySQL入門完全指南及Linux系統(tǒng)下基本的安裝教程,對(duì)MySQL的基本特性有一個(gè)較為詳細(xì)的整理,需要的朋友可以參考下

我們來了解一下MySQL的基本特性:

1.內(nèi)部構(gòu)件和可移植性

  • 使用C和C++編寫
  • 用眾多不同的編譯器進(jìn)行了測試
  • 能夠工作在眾多不同的平臺(tái)上。請參見2.1.1 “MySQL支持的操作系統(tǒng)”。
  • 使用GNU Automake、Autoconf和Libtool進(jìn)行移植。
  • 提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。
  • 采用核心線程的完全多線程 如果有多個(gè)CPU,它能方便地使用這些CPU。
  • 提供了事務(wù)性和非事務(wù)性存儲(chǔ)引擎。
  • 使用了極快的“B樹”磁盤表(MyISAM)和索引壓縮。
  • 添加另一個(gè)存儲(chǔ)引擎相對(duì)簡單。如果打算為內(nèi)部數(shù)據(jù)庫添加一個(gè)SQL接口,該特性十分有用。
  • 極快的基于線程的內(nèi)存分配系統(tǒng)。
  • 通過使用優(yōu)化的“單掃描多連接”,能實(shí)現(xiàn)極快的連接。
  • 存儲(chǔ)器中的哈希表用作臨時(shí)表。
  • SQL函數(shù)是使用高度優(yōu)化的類庫實(shí)現(xiàn)的,運(yùn)行很快。通常,在完成查詢初始化后,不存在存儲(chǔ)器分配。
  • 采用Purify(商業(yè)內(nèi)存溢出檢測器)以及GPL工具Valgrind(http://developer.kde.org/~sewardj/)測試了MySQL代碼。
  • 服務(wù)器可作為單獨(dú)程序運(yùn)行在客戶端/服務(wù)器聯(lián)網(wǎng)環(huán)境下。它也可作為庫提供,可嵌入(鏈接)到獨(dú)立的應(yīng)用程序中。這類應(yīng)用程序可單獨(dú)使用,也能在網(wǎng)絡(luò)環(huán)境下使用。

2.列類型

眾多列類型: 帶符號(hào)/無符號(hào)整數(shù),1、2、3、4、8字節(jié)長,F(xiàn)LOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,以及OpenGIS空間類型。請參見第11章:列類型。

定長和可變長度記錄。

3.語句和函數(shù)

在SELECT和查詢的WHERE子句中,提供完整的操作符和函數(shù)支持。例如:

mysql> SELECT CONCAT(first_name, ' ', last_name)
  -> FROM citizen
  -> WHERE income/dependents > 10000 AND age > 30;

對(duì)SQL GROUP BY和ORDER BY子句的全面支持。支持聚合函數(shù)(COUNT(), COUNT(DISTINCT ...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT())。

支持LEFT OUTER JOIN和RIGHT OUTER JOIN,采用標(biāo)準(zhǔn)的SQL和ODBC語法。

按照標(biāo)準(zhǔn)SQL的要求,支持表別名和列別名。

DELETE、INSERT、REPLACE和UPDATE返回更改(影響)的行數(shù)。連接到服務(wù)器時(shí),可通過設(shè)置標(biāo)志返回匹配的行數(shù)。

MySQL的SHOW命令可用于檢索關(guān)于數(shù)據(jù)庫、數(shù)據(jù)庫引擎、表和索引的信息。EXPLAIN命令可用于確定優(yōu)化器處理查詢的方式。

函數(shù)名與表名或列名不沖突。例如,ABS是有效的列名。唯一的限制在于,調(diào)用函數(shù)時(shí),函數(shù)名和隨后的符號(hào)“(”之間不得有空格。請參見9.6 “MySQL中保留字的處理”。

可以將不同數(shù)據(jù)庫的表混合在相同的查詢中(就像MySQL 3.22中那樣)。

4.安全

十分靈活和安全的權(quán)限和密碼系統(tǒng),允許基于主機(jī)的驗(yàn)證。連接到服務(wù)器時(shí),所有的密碼傳輸均采用加密形式,從而保證了密碼安全。

5.可伸縮性和限制

處理大型數(shù)據(jù)庫: 我們使用了MySQL服務(wù)器和含5千萬條記錄的數(shù)據(jù)庫。我們還聽說,有些用戶將MySQL用于含60000個(gè)表和約50億行的數(shù)據(jù)庫。

每個(gè)表可支持高達(dá)64條索引(在MySQL 4.1.2之前為32條)。每條索引可由1~16個(gè)列或列元素組成。最大索引寬度為1000字節(jié)(在MySQL 4.1.2之前為500)。索引可使用具備CHAR、VARCHAR、BLOB或TEXT列類型的列前綴。

6.連接性

在任何平臺(tái)上,客戶端可使用TCP/IP協(xié)議連接到MySQL服務(wù)器。在Windows系統(tǒng)的NT系列中(NT、2000、XP或2003),客戶端可使用命名管道進(jìn)行連接。在Unix系統(tǒng)中,客戶端可使用Unix域套接字文件建立連接。

在MySQL 4.1和更高的版本中,如果是以“--shared-memory”選項(xiàng)開始,Windows服務(wù)器還支持共享內(nèi)存連接。客戶端可使用“--protocol=memory”選項(xiàng),通過共享內(nèi)存建立連接。

Connector/ODBC (MyODBC)接口為使用ODBC(開放式數(shù)據(jù)庫連接性)連接的客戶端程序提供了MySQL支持。例如,可以使用MS Access連接到你的MySQL服務(wù)器??蛻舳丝蛇\(yùn)行在Windows或Unix平臺(tái)上。提供了MyODBC源。支持所有的ODBC 2.5函數(shù),以及眾多其他函數(shù)。

Connector/J接口為使用JDBC連接的Java客戶端程序提供了MySQL支持??蛻舳丝蛇\(yùn)行在Windows或Unix平臺(tái)上。提供了Connector/J源碼。

7.本地化

服務(wù)器可使用多種語言向客戶端提供錯(cuò)誤消息。請參見5.10.2節(jié),“設(shè)置錯(cuò)誤消息語言”。

對(duì)數(shù)種不同字符集的全面支持,包括latin1 (cp1252)、german、big5、ujis等。例如,在表名和列名中允許使用斯堪的納維亞字符‘å'、‘ä'和‘ö'。從MySQL 4.1開始,提供了Unicode支持。

所有數(shù)據(jù)均以所選的字符集保存。正常字符串列的比較不區(qū)分大小寫。

分類是根據(jù)所選的字符集(默認(rèn)情況下,使用瑞典校對(duì))進(jìn)行的。啟動(dòng)MySQL服務(wù)器時(shí),可更改該項(xiàng)設(shè)置。要想查看高級(jí)分類的示例,請參見Czech分類代碼。MySQL服務(wù)器支持眾多不同的字符集,這類字符集可在編譯時(shí)和運(yùn)行時(shí)指定。

8.客戶端和工具

MySQL服務(wù)器提供了對(duì)SQL語句的內(nèi)部支持,可用于檢查、優(yōu)化和修復(fù)表。通過mysqlcheck客戶端,可在命令行上使用這類語句。MySQL還包括myisamchk,這是一種很快的命令行實(shí)用工具,可用于在MyISAM表上執(zhí)行這類操作。請參見第5章:數(shù)據(jù)庫管理。

對(duì)于所有MySQL程序,均能通過“-help”或“-?”選項(xiàng)調(diào)用,以獲取聯(lián)機(jī)幫助信息。

MySQL在Linux上的安裝:

1,rpm包形式
(1) 操作系統(tǒng)發(fā)行商提供的
(2) MySQL官方提供的(版本更新,修復(fù)了更多常見BUG)www.mysql.com/downloads
關(guān)于MySQL中rpm包類型的介紹:
 MySQL-client         客戶端組件
 
 MySQL-debuginfo      調(diào)試MySQL的組件 
 
 MySQL-devel          想針對(duì)于MySQL編譯安裝PHP等依賴于MySQL的組件包
 
 MySQL-embedded       MySQL的嵌入式版本
 
 MySQL-server         共享庫
 
 MySQL-shared         共享庫
 
 MySQL-shared-dompat  為了兼容老版本的共享庫
 
 MySQL-test           MySQL的測試組件(在線處理功能)
安裝方法:
首先可以從安裝光盤中或者到mysql的網(wǎng)站上下載對(duì)應(yīng)版本的rpm包如下:

MySQL-server-community-5.5.28-1.rhel5.i386.rpm 
 
MySQL-client-community-5.5.28-1.rhel5.i386.rpm 

接著我們可以使用rpm命令進(jìn)行安裝:
rpm -ivh MySQL-server-community-5.5.28-1.rhel5.i386.rpm 
 
rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm 

補(bǔ)充一點(diǎn): 
-h 使用符號(hào)#顯示安裝進(jìn)度
 
-v 報(bào)告每一步操作的情況

2,通用二進(jìn)制包
(1)新建用戶以安全方式運(yùn)行進(jìn)程:

# groupadd -r mysql 
 
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql 
 
# chown -R mysql:mysql /mydata/data 

(2)安裝并初始化mysql-5.5.28
首先下載平臺(tái)對(duì)應(yīng)的mysql版本至本地,這里是32位平臺(tái),因此,選擇的為mysql-5.5.28-linux2.6-i686.tar.gz
#

 tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local 
 
# cd /usr/local/ 
 
# ln -sv mysql-5.5.28-linux2.6-i686 mysql 
 
# cd mysql 
 
# chown -R mysql:mysql . 
 
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data 
 
# chown -R root . 

(3)為mysql提供主配置文件:

# cd /usr/local/mysql 
 
# cp support-files/my-large.cnf /etc/my.cnf 

(4)修改配置文件:
修改此文件中thread_concurrency的值為你的CPU個(gè)數(shù)乘以2,比如這里使用如下行: 
 

thread_concurrency = 2 

 
另外還需要添加如下行指定mysql數(shù)據(jù)文件的存放位置: 
 

datadir = /mydata/data 

(5)為mysql提供sysv服務(wù)腳本:

# cd /usr/local/mysql 
 
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 

(6)添加至服務(wù)列表:

# chkconfig --add mysqld 
 
# chkconfig mysqld on 

(7)而后就可以啟動(dòng)服務(wù)測試使用了。

# service mysqld start

 
3,源碼編譯
(安裝編譯方式有點(diǎn)改變,配置過程無太大變動(dòng),所以后面不詳細(xì)介紹各個(gè)步驟了)
若想在5.0系列的紅帽系統(tǒng)上進(jìn)行源碼編譯安裝MySQL必須借助一個(gè)跨平臺(tái)編譯器cmake
所以:
(1)首先安裝cmake
安裝cmake需要用make

# tar xf cmake-2.8.8.tar.gz 
 
# cd cmake-2.8.8 
 
# ./bootstrap 

     使用此腳本來檢測編譯環(huán)境 
 

# make 
 
# make install 

(2)編譯安裝mysql-5.5.28
使用cmake編譯mysql-5.5.28,選項(xiàng)的方式有所改變簡單介紹一下。。。
cmake指定編譯選項(xiàng)的方式不同于make,其實(shí)現(xiàn)方式如下:
cmake .
 
cmake . -LH 或 ccmake .        查找可以使用的相關(guān)選項(xiàng)
指定安裝文件的安裝路徑時(shí)常用的選項(xiàng):
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql         指定安裝路徑
 
-DMYSQL_DATADIR=/data/mysql                     數(shù)據(jù)安裝路徑
 
-DSYSCONFDIR=/etc                               配置文件的安裝路徑
由于MySQL支持很多的存儲(chǔ)引擎而默認(rèn)編譯的存儲(chǔ)引擎包括:csv、myisam、myisammrg和heap。若要安裝其它存儲(chǔ)引擎,可以使用類似如下編譯選項(xiàng):
-DWITH_INNOBASE_STORAGE_ENGINE=1          安裝INNOBASE存儲(chǔ)引擎
 
-DWITH_ARCHIVE_STORAGE_ENGINE=1           安裝ARCHIVE存儲(chǔ)引擎
 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1         安裝BLACKHOLE存儲(chǔ)引擎
 
-DWITH_FEDERATED_STORAGE_ENGINE=1         安裝FEDERATED存儲(chǔ)引擎
 
若要明確指定不編譯某存儲(chǔ)引擎,可以使用類似如下的選項(xiàng):
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1        不啟用或不編譯EXAMPLE存儲(chǔ)引擎
 
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
 
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要編譯進(jìn)其它功能,如SSL等,則可使用類似如下選項(xiàng)來實(shí)現(xiàn)編譯時(shí)使用某庫或不使用某庫:
-DWITH_READLINE=1
 
-DWITH_SSL=system           表示使用系統(tǒng)上的自帶的SSL庫
 
-DWITH_ZLIB=system
 
-DWITH_LIBWRAP=0
其它常用的選項(xiàng):
-DMYSQL_TCP_PORT=3306                       設(shè)置默認(rèn)端口的
 
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock           MySQL進(jìn)程間通信的套接字的位置
 
-DENABLED_LOCAL_INFILE=1                    是否啟動(dòng)本地的LOCAL_INFILE
 
-DEXTRA_CHARSETS=all                        支持哪些額外的字符集
 
-DDEFAULT_CHARSET=utf8                      默認(rèn)字符集
 
-DDEFAULT_COLLATION=utf8_general_ci         默認(rèn)的字符集排序規(guī)則
 
-DWITH_DEBUG=0                              是否啟動(dòng)DEBUG功能
 
-DENABLE_PROFILING=1                        是否啟用性能分析功能
如果想清理此前的編譯所生成的文件,則需要使用如下命令:

make clean 
 
rm CMakeCache.txt 

編譯安裝

# tar xf mysql-5.5.28.tar.gz 
 
# cd mysql-5.5.28 
 
# groupadd -r mysql 
 
# useradd -g -r mysql mysql 
 
# mkdir -pv /data/mydata 
 
# chown -R mysql:mysql /data/mydata 
 
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mydata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 
 
# make 
 
# make install
 
# cd /usr/local/mysql 

 

# chown -R :mysql

    更改屬組 
 

# scripts/mysql_install_db --user=mysql --datadir=/data/mydata/

  指定數(shù)據(jù)存放位置
 

# cp support-files/my-large.cnf /etc/my.cnf 

    創(chuàng)建配置文件
 
編輯配置文件

#vim /etc/my.cnf 

添加如下行指定mysql數(shù)據(jù)文件的存放位置: 
 

datadir = /mydata/data 

創(chuàng)建執(zhí)行腳本和啟動(dòng)服務(wù)

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 

復(fù)制腳本 
 

# chmod +x /etc/rc.d/init.d/mysqld 

 執(zhí)行權(quán)限 
 

# chkconfig -add mysql 

添加到服務(wù)列表中 
 

# service mysqld start 

 啟動(dòng)服務(wù) 
 

# bin/mysql  

啟動(dòng)mysql

相關(guān)文章

最新評(píng)論