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

Linux 源碼編譯安裝 MySQL 5.7.13 完整教程:CMake、Boost、依賴處理

     編輯:MySQL 資料庫相關知識

前置依賴

# cmake 3.6+
tar zxvf cmake-3.6.0.tar.gz && cd cmake-3.6.0 && ./bootstrap && make && make install
# bison 3.0.4+
tar zxvf bison-3.0.4.tar.gz && cd bison-3.0.4 && ./configure && make && make install
# ncurses-devel(解決 Curses library not found)
yum -y install ncurses-devel

MySQL 源碼編譯

tar -zxvf mysql-5.7.13.tar.gz && cd mysql-5.7.13
# 關鍵:5.7 強制依賴 Boost,兩種方式二選一
# 方式 A:自動下載
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  -DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_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 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
# 方式 B:預置 Boost 包於 /usr/local/boost,去掉 DOWNLOAD_BOOST
make && make install

常見編譯報錯與修復

報錯原因修復
COULD_NOT_FIND_BOOST缺少 Boost加 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path 或預置 Boost
Curses library not found缺 ncurses-develyum -y install ncurses-devel 後刪 CMakeCache.txt 重跑 cmake

安裝後初始化

# 建用戶組/用戶
groupadd mysql && useradd -r -g mysql -s /bin/false mysql
# 初始化數據目錄
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldb
# 拷貝啟動腳本、配置文件、設置權限、啟動服務...

總結

源碼編譯 MySQL 5.7 核心難點在 CMake 參數 與 Boost 依賴。掌握 -DDOWNLOAD_BOOST=1 自動下載或預置 Boost、ncurses-devel 解決 curses 缺失、刪 CMakeCache.txt 重跑 cmake,即可順利編譯安裝。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved