首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 完全入門指南:特性詳解、Linux 安裝三大方式(RPM/二進制/源碼)全流程

     編輯:MySQL 資料庫相關知識

MySQL 核心特性速覽

  • C/C++ 編寫,多平台移植(GNU Autotools),多語言 API (C/C++/Java/Python/PHP/Go...)。
  • 全多線程架構,多 CPU 友好。
  • 插件式存儲引擎:事務型、非事務型靈活選擇。
  • 極快 B+樹索引(MyISAM)與索引壓縮;InnoDB 聚簇索引更優。
  • 優化的單掃描多連接、內存哈希臨時表、高度優化函數庫。
  • Purify/Valgrind 內存檢測,代碼質量高。
  • 雙模式運行:獨立服務器 / 嵌入式庫(libmysqld)。

數據類型豐富

整數 (1/2/3/4/8 字節)、浮點、定點、字符 (CHAR/VARCHAR/TEXT)、二進制 (BLOB)、時空 (DATE/TIME/DATETIME/TIMESTAMP/YEAR)、集合 (SET/ENUM)、OpenGIS 空間類型。支持定長/變長記錄。

SQL 功能完備

  • 完整運算符/函數、GROUP BY/ORDER BY、聚合函數 (COUNT/AVG/STD/SUM/MAX/MIN/GROUP_CONCAT)。
  • 標準 LEFT/RIGHT OUTER JOIN、表/列別名、DELETE/INSERT/REPLACE/UPDATE 返回影響行數。
  • SHOW 檢視元數據、EXPLAIN 分析執行計劃。
  • 函數名與標識符不沖突(調用時函數名與括號無空格)。
  • 跨庫查詢混合表。

安全與連接

  • 基於主機的權限體系,密碼傳輸加密。
  • 連接協議:TCP/IP (全平台)、Named Pipe (Windows NT+)、Unix Socket (Unix)、Shared Memory (Windows 4.1+)。
  • 官方連接器:Connector/ODBC (MyODBC)、Connector/J (JDBC)。

本地化

  • 多語言錯誤消息、多字符集 (latin1/gbk/utf8/ujis...),4.1+ 支持 Unicode。
  • 校對規則可配置(默認瑞典語),支持大小寫不敏感比較。

客戶端工具鏈

  • mysql 客戶端、mysqladmin 管理、mysqldump 導出、mysqlcheck/myisamchk 檢查修復。
  • 所有程序支持 --help/-? 線上幫助。

Linux 安裝三大方式

方式一:RPM 包安裝(最簡單,生產常用)

包分類

  • MySQL-server:服務端核心
  • MySQL-client:客戶端工具
  • MySQL-devel:開發頭文件/庫(編譯 PHP 等需用)
  • MySQL-shared:共享庫 libmysqlclient.so
  • MySQL-embedded:嵌入式版本
  • MySQL-test:測試套件
  • MySQL-debuginfo:調試符號

安裝步驟

# 下載對應版本 (如 5.5.28)
wget MySQL-server-community-5.5.28-1.rhel5.i386.rpm
wget MySQL-client-community-5.5.28-1.rhel5.i386.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 詳細輸出

方式二:通用二進制包安裝(靈活,無依賴,推薦)

# 1. 創建用戶與目錄
groupadd -r mysql
useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
chown -R mysql:mysql /mydata/data

# 2. 解壓並初始化
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. 配置文件
cp support-files/my-large.cnf /etc/my.cnf
# 編輯 /etc/my.cnf 添加:
# thread_concurrency = 2  (CPU核心數*2)
# datadir = /mydata/data

# 4. 服務腳本
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

# 5. 啟動
service mysqld start

方式三:源碼編譯安裝(定制化最高,需 CMake)

# 1. 安裝 CMake
tar xf cmake-2.8.8.tar.gz && cd cmake-2.8.8 && ./bootstrap && make && make install

# 2. 編譯 MySQL (5.5+ 必須 CMake)
tar xf mysql-5.5.28.tar.gz && cd mysql-5.5.28
groupadd -r mysql && useradd -g mysql -r 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 \
  -DWITH_DEBUG=0 \
  -DENABLE_PROFILING=1

make && make install

# 3. 後續同二進制包:初始化、配置、服務腳本、啟動
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
# 編輯 /etc/my.cnf 添加 datadir = /data/mydata
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld && service mysqld start

常用 CMake 選項速查

選項含義
-DWITH__STORAGE_ENGINE=1啟用存儲引擎 (InnoBase/Archive/Blackhole/Federated/Partition...)
-DWITHOUT__STORAGE_ENGINE=1禁用存儲引擎
-DWITH_SSL=system使用系統 OpenSSL
-DDEFAULT_CHARSET=utf8默認字符集
-DENABLE_PROFILING=1啟用性能剖析
make clean && rm CMakeCache.txt清理重新編譯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved