国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL入門完全指南及Linux系統下基本的安裝教程

2024-07-24 13:08:12
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了MySQL入門完全指南及Linux系統下基本的安裝教程,對MySQL的基本特性有一個較為詳細的整理,需要的朋友可以參考下

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

1.內部構件和可移植性

使用C和C++編寫

用眾多不同的編譯器進行了測試

能夠工作在眾多不同的平臺上。請參見2.1.1 “MySQL支持的操作系統”。

使用GNU Automake、Autoconf和Libtool進行移植。

提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。

采用核心線程的完全多線程 如果有多個CPU,它能方便地使用這些CPU。

提供了事務性和非事務性存儲引擎。

使用了極快的“B樹”磁盤表(MyISAM)和索引壓縮。

添加另一個存儲引擎相對簡單。如果打算為內部數據庫添加一個SQL接口,該特性十分有用。

極快的基于線程的內存分配系統。

通過使用優化的“單掃描多連接”,能實現極快的連接。

存儲器中的哈希表用作臨時表。

SQL函數是使用高度優化的類庫實現的,運行很快。通常,在完成查詢初始化后,不存在存儲器分配。

采用Purify(商業內存溢出檢測器)以及GPL工具Valgrind(http://developer.kde.org/~sewardj/)測試了MySQL代碼。

服務器可作為單獨程序運行在客戶端/服務器聯網環境下。它也可作為庫提供,可嵌入(鏈接)到獨立的應用程序中。這類應用程序可單獨使用,也能在網絡環境下使用。

2.列類型

眾多列類型: 帶符號/無符號整數,1、2、3、4、8字節長,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,以及OpenGIS空間類型。請參見第11章:列類型。

定長和可變長度記錄。

3.語句和函數

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

 

 
  1. mysql> SELECT CONCAT(first_name, ' ', last_name) 
  2. -> FROM citizen 
  3. -> 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包如下:

 

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

接著我們可以使用rpm命令進行安裝:

 

 
  1. rpm -ivh MySQL-server-community-5.5.28-1.rhel5.i386.rpm  
  2.  
  3. rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm  

補充一點:

-h 使用符號#顯示安裝進度

-v 報告每一步操作的情況

2,通用二進制包

(1)新建用戶以安全方式運行進程:

 

 
  1. # groupadd -r mysql  
  2.  
  3. # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql  
  4.  
  5. # chown -R mysql:mysql /mydata/data  

(2)安裝并初始化mysql-5.5.28

首先下載平臺對應的mysql版本至本地,這里是32位平臺,因此,選擇的為mysql-5.5.28-linux2.6-i686.tar.gz

#

 

 
  1. tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local 
  2.  
  3. # cd /usr/local/  
  4.  
  5. # ln -sv mysql-5.5.28-linux2.6-i686 mysql  
  6.  
  7. # cd mysql  
  8.  
  9. # chown -R mysql:mysql .  
  10.  
  11. # scripts/mysql_install_db --user=mysql --datadir=/mydata/data  
  12.  
  13. # chown -R root .  

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

 

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

(4)修改配置文件:

修改此文件中thread_concurrency的值為你的CPU個數乘以2,比如這里使用如下行:

 

 
  1. thread_concurrency = 2  

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

 

 
  1. datadir = /mydata/data  

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

 

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

(6)添加至服務列表:

 

 
  1. # chkconfig --add mysqld  
  2.  
  3. # chkconfig mysqld on  

(7)而后就可以啟動服務測試使用了。

 

 
  1. # service mysqld start 

3,源碼編譯

(安裝編譯方式有點改變,配置過程無太大變動,所以后面不詳細介紹各個步驟了)

若想在5.0系列的紅帽系統上進行源碼編譯安裝MySQL必須借助一個跨平臺編譯器cmake

所以:

(1)首先安裝cmake

安裝cmake需要用make

 

 
  1. # tar xf cmake-2.8.8.tar.gz  
  2.  
  3. # cd cmake-2.8.8  
  4.  
  5. # ./bootstrap 

使用此腳本來檢測編譯環境

 

 
  1. # make  
  2.  
  3. # 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__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 是否啟用性能分析功能

如果想清理此前的編譯所生成的文件,則需要使用如下命令:

 

 
  1. make clean  
  2.  
  3. rm CMakeCache.txt  

編譯安裝

 

 
  1. # tar xf mysql-5.5.28.tar.gz  
  2.  
  3. # cd mysql-5.5.28  
  4.  
  5. # groupadd -r mysql  
  6.  
  7. # useradd -g -r mysql mysql  
  8.  
  9. # mkdir -pv /data/mydata  
  10.  
  11. # chown -R mysql:mysql /data/mydata  
  12.  
  13. # 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  
  14.  
  15. # make  
  16.  
  17. # make install 
  18.  
  19. # cd /usr/local/mysql  

 

 
  1. # chown -R :mysql 

更改屬組

 

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

指定數據存放位置

 

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

創建配置文件

編輯配置文件

 

 
  1. #vim /etc/my.cnf  

添加如下行指定mysql數據文件的存放位置:

 

 
  1. datadir = /mydata/data  

創建執行腳本和啟動服務

 

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

復制腳本

 

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

執行權限

 

 
  1. # chkconfig -add mysql 

添加到服務列表中

 

 
  1. # service mysqld start 

啟動服務

 

 
  1. # bin/mysql 

啟動mysql


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平泉县| 兴业县| 南汇区| 青河县| 溧水县| 武鸣县| 新巴尔虎左旗| 武陟县| 隆昌县| 祥云县| 台中县| 无为县| 洪雅县| 潍坊市| 长乐市| 永康市| 临颍县| 武城县| 黄石市| 三河市| 民勤县| 吴江市| 合作市| 靖西县| 南昌县| 柳州市| 比如县| 南通市| 濉溪县| 承德县| 南安市| 饶河县| 固镇县| 和林格尔县| 新营市| 安化县| 饶阳县| 勃利县| 丰城市| 桂平市| 本溪|