MySQL入門完整指南及Linux體系下根本的裝置教程。本站提示廣大學習愛好者:(MySQL入門完整指南及Linux體系下根本的裝置教程)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL入門完整指南及Linux體系下根本的裝置教程正文
我們來懂得一下MySQL的根本特征:
1.外部構件和可移植性
2.列類型
浩瀚列類型: 帶符號/無符號整數,1、2、3、4、8字節長,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,和OpenGIS空間類型。請拜見第11章:列類型。
定長和可變長度記載。
3.語句和函數
在SELECT和查詢的WHERE子句中,供給完全的操作符和函數支撐。例如:
mysql> SELECT CONCAT(first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10000 AND age > 30;
對SQL GROUP BY和ORDER BY子句的周全支撐。支撐聚合函數(COUNT(), COUNT(DISTINCT ...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT())。
支撐LEFT OUTER JOIN和RIGHT OUTER JOIN,采取尺度的SQL和ODBC語法。
依照尺度SQL的請求,支撐表別號和列別號。
DELETE、INSERT、REPLACE和UPDATE前往更改(影響)的行數。銜接到辦事器時,可經由過程設置標記前往婚配的行數。
MySQL的SHOW敕令可用於檢索關於數據庫、數據庫引擎、表和索引的信息。EXPLAIN敕令可用於肯定優化器處置查詢的方法。
函數名與表名或列名不抵觸。例如,ABS是有用的列名。獨一的限制在於,挪用函數時,函數名和隨後的符號“(”之間不得有空格。請拜見9.6 “MySQL中保存字的處置”。
可以將分歧數據庫的表混雜在雷同的查詢中(就像MySQL 3.22中那樣)。
4.平安
非常靈巧和平安的權限和暗碼體系,許可基於主機的驗證。銜接到辦事器時,一切的暗碼傳輸均采取加密情勢,從而包管了暗碼平安。
5.可伸縮性和限制
處置年夜型數據庫: 我們應用了MySQL辦事器和含5萬萬筆記錄的數據庫。我們還據說,有些用戶將MySQL用於含60000個表和約50億行的數據庫。
每一個表可支撐高達64條索引(在MySQL 4.1.2之前為32條)。每條索引可由1~16個列或列元素構成。最年夜索引寬度為1000字節(在MySQL 4.1.2之前為500)。索引可以使器具備CHAR、VARCHAR、BLOB或TEXT列類型的列前綴。
6.銜接性
在任何平台上,客戶端可以使用TCP/IP協定銜接到MySQL辦事器。在Windows體系的NT系列中(NT、2000、XP或2003),客戶端可以使用定名管道停止銜接。在Unix體系中,客戶端可以使用Unix域套接字文件樹立銜接。
在MySQL 4.1和更高的版本中,假如是以“--shared-memory”選項開端,Windows辦事器還支撐同享內存銜接。客戶端可以使用“--protocol=memory”選項,經由過程同享內存樹立銜接。
Connector/ODBC (MyODBC)接口為應用ODBC(開放式數據庫銜接性)銜接的客戶端法式供給了MySQL支撐。例如,可使用MS Access銜接到你的MySQL辦事器。客戶端可運轉在Windows或Unix平台上。供給了MyODBC源。支撐一切的ODBC 2.5函數,和浩瀚其他函數。
Connector/J接口為應用JDBC銜接的Java客戶端法式供給了MySQL支撐。客戶端可運轉在Windows或Unix平台上。供給了Connector/J源碼。
7.當地化
辦事器可以使用多種說話向客戶端供給毛病新聞。請拜見5.10.2節,“設置毛病新聞說話”。
對數種分歧字符集的周全支撐,包含latin1 (cp1252)、german、big5、ujis等。例如,在表名和列名中許可應用斯堪的納維亞字符‘å'、‘ä'和‘ö'。從MySQL 4.1開端,供給了Unicode支撐。
一切數據均以所選的字符集保留。正常字符串列的比擬不辨別年夜小寫。
分類是依據所選的字符集(默許情形下,應用瑞典校訂)停止的。啟動MySQL辦事器時,可更改該項設置。要想檢查高等分類的示例,請拜見Czech分類代碼。MySQL辦事器支撐浩瀚分歧的字符集,這類字符集可在編譯時和運轉時指定。
8.客戶端和對象
MySQL辦事器供給了對SQL語句的外部支撐,可用於檢討、優化和修復表。經由過程mysqlcheck客戶端,可在敕令行上應用這類語句。MySQL還包含myisamchk,這是一種很快的敕令行適用對象,可用於在MyISAM表上履行這類操作。請拜見第5章:數據庫治理。
關於一切MySQL法式,均能經由過程“-help”或“-?”選項挪用,以獲得聯機贊助信息。
MySQL在Linux上的裝置:
1,rpm包情勢
(1) 操作體系刊行商供給的
(2) MySQL官方供給的(版本更新,修復了更多罕見BUG)www.mysql.com/downloads
關於MySQL中rpm包類型的引見:
MySQL-client 客戶端組件
MySQL-debuginfo 調試MySQL的組件
MySQL-devel 想針關於MySQL編譯裝置PHP等依附於MySQL的組件包
MySQL-embedded MySQL的嵌入式版本
MySQL-server 同享庫
MySQL-shared 同享庫
MySQL-shared-dompat 為了兼容老版本的同享庫
MySQL-test MySQL的測試組件(在線處置功效)
裝置辦法:
起首可以從裝置光盤中或許到mysql的網站高低載對應版本的rpm包以下:
MySQL-server-community-5.5.28-1.rhel5.i386.rpm MySQL-client-community-5.5.28-1.rhel5.i386.rpm接著我們可使用rpm敕令停止裝置:
rpm -ivh MySQL-server-community-5.5.28-1.rhel5.i386.rpm rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm
彌補一點:
-h 應用符號#顯示裝置進度
-v 申報每步操作的情形
2,通用二進制包
(1)新建用戶以平安方法運轉過程:
# 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
起首下載平台對應的mysql版本至當地,這裡是32位平台,是以,選擇的為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個數乘以2,好比這裡應用以下行:
thread_concurrency = 2
別的還須要添加以下行指定mysql數據文件的寄存地位:
datadir = /mydata/data
(5)為mysql供給sysv辦事劇本:
# cd /usr/local/mysql # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
(6)添加至辦事列表:
# chkconfig --add mysqld # chkconfig mysqld on
(7)爾後便可以啟動辦事測試應用了。
# service mysqld start
3,源碼編譯
(裝置編譯方法有點轉變,設置裝備擺設進程無太年夜更改,所今後面不具體引見各個步調了)
若想在5.0系列的紅帽體系長進行源碼編譯裝置MySQL必需借助一個跨平台編譯器cmake
所以:
(1)起首裝置cmake
裝置cmake須要用make
# tar xf cmake-2.8.8.tar.gz # cd cmake-2.8.8 # ./bootstrap
應用此劇本來檢測編譯情況
# make # make install
(2)編譯裝置mysql-5.5.28
應用cmake編譯mysql-5.5.28,選項的方法有所轉變簡略引見一下。。。
cmake指定編譯選項的方法分歧於make,其完成方法以下:
cmake .
cmake . -LH 或 ccmake . 查找可使用的相干選項
指定裝置文件的裝置途徑經常用的選項:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定裝置途徑
-DMYSQL_DATADIR=/data/mysql 數據裝置途徑
-DSYSCONFDIR=/etc 設置裝備擺設文件的裝置途徑
因為MySQL支撐許多的存儲引擎而默許編譯的存儲引擎包含:csv、myisam、myisammrg和heap。若要裝置其它存儲引擎,可使用相似以下編譯選項:
-DWITH_INNOBASE_STORAGE_ENGINE=1 裝置INNOBASE存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 裝置ARCHIVE存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 裝置BLACKHOLE存儲引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 裝置FEDERATED存儲引擎
若要明白指定不編譯某存儲引擎,可使用相似以下的選項:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
好比:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 不啟用或不編譯EXAMPLE存儲引擎
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要編譯進其它功效,如SSL等,則可以使用相似以下選項來完成編譯時應用某庫或不應用某庫:
-DWITH_READLINE=1
-DWITH_SSL=system 表現應用體系上的自帶的SSL庫
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
其它經常使用的選項:
-DMYSQL_TCP_PORT=3306 設置默許端口的
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock MySQL過程間通訊的套接字的地位
-DENABLED_LOCAL_INFILE=1 能否啟動當地的LOCAL_INFILE
-DEXTRA_CHARSETS=all 支撐哪些額定的字符集
-DDEFAULT_CHARSET=utf8 默許字符集
-DDEFAULT_COLLATION=utf8_general_ci 默許的字符集排序規矩
-DWITH_DEBUG=0 能否啟動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/
指定命據寄存地位
# cp support-files/my-large.cnf /etc/my.cnf
創立設置裝備擺設文件
編纂設置裝備擺設文件
#vim /etc/my.cnf
添加以下行指定mysql數據文件的寄存地位:
datadir = /mydata/data
創立履行劇本和啟動辦事
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
復制劇本
# chmod +x /etc/rc.d/init.d/mysqld
履行權限
# chkconfig -add mysql
添加到辦事列表中
# service mysqld start
啟動辦事
# bin/mysql
啟動mysql