CMake Error: The source directory does not appear to contain CMakeLists.txt.
在執行 cmake 參數配置時拋出,初看像版本不匹配,實則是執行目錄錯誤。
cmake 需在 MySQL 源碼根目錄(包含 CMakeLists.txt 的目錄)下執行。若在解壓後的上層目錄或任意其他路徑執行,CMake 找不到專案描述檔,直接報錯。
tar -zxvf mysql-5.6.19.tar.gzcd mysql-5.6.19cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/data/mysqldb \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=1
| 參數 | 作用 |
|---|---|
CMAKE_INSTALL_PREFIX | 安裝根目錄 |
MYSQL_UNIX_ADDR | Socket 檔案路徑 |
DEFAULT_CHARSET/COLLATION | 預設字符集/校對規則 |
WITH_*_STORAGE_ENGINE | 啟用 InnoDB/Archive/Blackhole 引擎 |
MYSQL_DATADIR | 數據文件存放目錄 |
ENABLE_DOWNLOADS | 允許 CMake 自動下載依賴(如 Boost) |
make && make install
完成後按常規初始化 data 目錄、配置 my.cnf、啟動服務。
cmake、gcc/g++、ncurses-devel、bison 等構建依賴。-DWITH_DEBUG=1。-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/to/boost 避免網絡下載失敗。