《Mysql應用MySQL入門完全指南及Linux系統下基本的安裝教程》要點:
本文介紹了Mysql應用MySQL入門完全指南及Linux系統下基本的安裝教程,希望對您有用。如果有疑問,可以聯系我們。
MYSQL教程我們來了解一下MySQL的基本特性:
MYSQL教程1.內部構件和可移植性
MYSQL教程2.列類型
MYSQL教程眾多列類型: 帶符號/無符號整數,1、2、3、4、8字節長,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,以及OpenGIS空間類型.請參見第11章:列類型.
MYSQL教程定長和可變長度記錄.
MYSQL教程3.語句和函數
MYSQL教程在SELECT和查詢的WHERE子句中,提供完整的操作符和函數支持.例如:
MYSQL教程
mysql> SELECT CONCAT(first_name, ' ', last_name)
-> FROM citizen
-> WHERE income/dependents > 10000 AND age > 30;
MYSQL教程對SQL GROUP BY和ORDER BY子句的全面支持.支持聚合函數(COUNT(), COUNT(DISTINCT ...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT()).
MYSQL教程支持LEFT OUTER JOIN和RIGHT OUTER JOIN,采用標準的SQL和ODBC語法.
MYSQL教程按照標準SQL的要求,支持表別名和列別名.
MYSQL教程DELETE、INSERT、REPLACE和UPDATE返回更改(影響)的行數.連接到服務器時,可通過設置標志返回匹配的行數.
MYSQL教程MySQL的SHOW命令可用于檢索關于數據庫、數據庫引擎、表和索引的信息.EXPLAIN命令可用于確定優化器處理查詢的方式.
MYSQL教程函數名與表名或列名不沖突.例如,ABS是有效的列名.唯一的限制在于,調用函數時,函數名和隨后的符號“(”之間不得有空格.請參見9.6 “MySQL中保留字的處理”.
MYSQL教程可以將不同數據庫的表混合在相同的查詢中(就像MySQL 3.22中那樣).
MYSQL教程4.安全
MYSQL教程十分靈活和安全的權限和密碼系統,允許基于主機的驗證.連接到服務器時,所有的密碼傳輸均采用加密形式,從而保證了密碼安全.
MYSQL教程5.可伸縮性和限制
MYSQL教程處理大型數據庫: 我們使用了MySQL服務器和含5千萬條記錄的數據庫.我們還聽說,有些用戶將MySQL用于含60000個表和約50億行的數據庫.
MYSQL教程每個表可支持高達64條索引(在MySQL 4.1.2之前為32條).每條索引可由1~16個列或列元素組成.最大索引寬度為1000字節(在MySQL 4.1.2之前為500).索引可使用具備CHAR、VARCHAR、BLOB或TEXT列類型的列前綴.
MYSQL教程6.連接性
MYSQL教程在任何平臺上,客戶端可使用TCP/IP協議連接到MySQL服務器.在Windows系統的NT系列中(NT、2000、XP或2003),客戶端可使用命名管道進行連接.在Unix系統中,客戶端可使用Unix域套接字文件建立連接.
MYSQL教程在MySQL 4.1和更高的版本中,如果是以“--shared-memory”選項開始,Windows服務器還支持共享內存連接.客戶端可使用“--protocol=memory”選項,通過共享內存建立連接.
MYSQL教程Connector/ODBC (MyODBC)接口為使用ODBC(開放式數據庫連接性)連接的客戶端程序提供了MySQL支持.例如,可以使用MS Access連接到你的MySQL服務器.客戶端可運行在Windows或Unix平臺上.提供了MyODBC源.支持所有的ODBC 2.5函數,以及眾多其他函數.
MYSQL教程Connector/J接口為使用JDBC連接的Java客戶端程序提供了MySQL支持.客戶端可運行在Windows或Unix平臺上.提供了Connector/J源碼.
MYSQL教程7.本地化
MYSQL教程服務器可使用多種語言向客戶端提供錯誤消息.請參見5.10.2節,“設置錯誤消息語言”.
MYSQL教程對數種不同字符集的全面支持,包括latin1 (cp1252)、german、big5、ujis等.例如,在表名和列名中允許使用斯堪的納維亞字符‘?'、‘?'和‘?'.從MySQL 4.1開始,提供了Unicode支持.
MYSQL教程所有數據均以所選的字符集保存.正常字符串列的比較不區分大小寫.
MYSQL教程分類是根據所選的字符集(默認情況下,使用瑞典校對)進行的.啟動MySQL服務器時,可更改該項設置.要想查看高級分類的示例,請參見Czech分類代碼.MySQL服務器支持眾多不同的字符集,這類字符集可在編譯時和運行時指定.
MYSQL教程8.客戶端和工具
MYSQL教程MySQL服務器提供了對SQL語句的內部支持,可用于檢查、優化和修復表.通過mysqlcheck客戶端,可在命令行上使用這類語句.MySQL還包括myisamchk,這是一種很快的命令行實用工具,可用于在MyISAM表上執行這類操作.請參見第5章:數據庫管理.
MYSQL教程對于所有MySQL程序,均能通過“-help”或“-?”選項調用,以獲取聯機幫助信息.
MYSQL教程MySQL在Linux上的安裝:
MYSQL教程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教程
MySQL-server-community-5.5.28-1.rhel5.i386.rpm
MySQL-client-community-5.5.28-1.rhel5.i386.rpm
MYSQL教程
rpm -ivh MySQL-server-community-5.5.28-1.rhel5.i386.rpm
rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm
MYSQL教程補充一點:?
-h 使用符號#顯示安裝進度
?
-v 報告每一步操作的情況
MYSQL教程2,通用二進制包
(1)新建用戶以安全方式運行進程:
MYSQL教程
# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data
MYSQL教程(2)安裝并初始化mysql-5.5.28
首先下載平臺對應的mysql版本至本地,這里是32位平臺,因此,選擇的為mysql-5.5.28-linux2.6-i686.tar.gz
#
MYSQL教程
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 .
MYSQL教程(3)為mysql提供主配置文件:
MYSQL教程
# cd /usr/local/mysql
# cp support-files/my-large.cnf /etc/my.cnf
MYSQL教程(4)修改配置文件:
修改此文件中thread_concurrency的值為你的CPU個數乘以2,比如這里使用如下行:?
?
MYSQL教程
thread_concurrency = 2
MYSQL教程?
另外還需要添加如下行指定mysql數據文件的存放位置:?
?
MYSQL教程
datadir = /mydata/data
MYSQL教程(5)為mysql提供sysv服務腳本:
MYSQL教程
# cd /usr/local/mysql
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
MYSQL教程(6)添加至服務列表:
MYSQL教程
# chkconfig --add mysqld
# chkconfig mysqld on
MYSQL教程(7)而后就可以啟動服務測試使用了.
MYSQL教程
# service mysqld start
MYSQL教程?
3,源碼編譯
(安裝編譯方式有點改變,配置過程無太大變動,所以后面不詳細介紹各個步驟了)
若想在5.0系列的紅帽系統上進行源碼編譯安裝MySQL必須借助一個跨平臺編譯器cmake
所以:
(1)首先安裝cmake
安裝cmake需要用make
MYSQL教程
# tar xf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./bootstrap
MYSQL教程???? 使用此腳本來檢測編譯環境?
?
MYSQL教程
# make
# make install
MYSQL教程(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??????????????????????? 是否啟用性能分析功能
如果想清理此前的編譯所生成的文件,則需要使用如下命令:
MYSQL教程
make clean
rm CMakeCache.txt
MYSQL教程編譯安裝
MYSQL教程
# 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
MYSQL教程?
MYSQL教程
# chown -R :mysql
MYSQL教程??? 更改屬組?
?
MYSQL教程
# scripts/mysql_install_db --user=mysql --datadir=/data/mydata/
MYSQL教程? 指定數據存放位置
?
MYSQL教程
# cp support-files/my-large.cnf /etc/my.cnf
MYSQL教程??? 創建配置文件
?
編輯配置文件
MYSQL教程
#vim /etc/my.cnf
MYSQL教程添加如下行指定mysql數據文件的存放位置:?
?
MYSQL教程
datadir = /mydata/data
MYSQL教程創建執行腳本和啟動服務
MYSQL教程
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
MYSQL教程復制腳本?
?
MYSQL教程
# chmod +x /etc/rc.d/init.d/mysqld
MYSQL教程?執行權限?
?
MYSQL教程
# chkconfig -add mysql
MYSQL教程添加到服務列表中?
?
MYSQL教程
# service mysqld start
MYSQL教程?啟動服務?
?
MYSQL教程
# bin/mysql
MYSQL教程啟動mysql
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/3517.html