CMake 安裝MySQL5.7
阿新 • • 發佈:2019-01-13
簡介
MySQL的安裝方式又很多,比如二進位制直接解壓,利用rpm包方式安裝,MySQL5.5之前可以用make,在MySQL5.5之後原始碼編譯需要用CMake。這裡簡單介紹一下如何原始碼安裝MySQL5.7。
一般二進位制的方式就可以了,如果需要定製可以用CMAKE。
前提
- CMake
- ncurses 函式庫
- 安裝的時候需要Boost C++庫,必須安裝Boost1.59.0,安裝之後,cmake需要加一個引數表明Boost檔案所在的位置
cmake . -DWITH_BOOST=/usr/local/boost_1_59_0 #這裡指定Boost位置
安裝
第一步:安裝CMake
yum install cmake -y
第二步:安裝依賴包
yum groupinstall "Development Tools" -y #安裝開發包組,以防缺包
yum install ncurses ncurses-devel gcc gcc-devel gcc-c++ -y
第三步:建立mysql使用者
useradd -M -s /sbin/nologin mysql
第四步:安裝MySQL5.7
原始碼包可以在官網下載,因為安裝需要Boost庫,所以這裡下載的原始碼包直接下載一個包含Boost的原始碼包
官網的下載地址
https://dev.mysql.com/downloads/mysql/
下載好之後,解壓
tar xf mysql-boost-5.7.24.tar.gz
cd mysql-5.7.24/
利用CMake構建MySQL5.7
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7 \ -DMYSQL_DATADIR=/usr/local/mysql5.7/data \ -DMYSQL_UNIX_ADDR=/usr/local/mysql5.7/data/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITH_ZLIB=bundled \ -DWITH_SSL=bundled \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLE_DOWNLOADS=1 \ -DWITH_DEBUG=0 \ -DWITH_BOOST=./boost/boost_1_59_0
CMake編譯安裝過程會把指定的配置資訊硬編碼到程式檔案中
這些配置項可以根據需要進行調整,
構建完成之後直接安裝
make && make install
第五步:初始化資料庫
/usr/local/mysql5.7/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data
初始化之後會預設給你生成臨時密碼,這個要先記一下
如果不需要它幫你生成密碼可以使用–initialize-insecure選項
第六步:設定一下路徑以及許可權
chown -R mysql.mysql /usr/local/mysql5.7
echo 'PATH=/usr/local/mysql5.7/bin/:$PATH' >>/etc/profile
source /etc/profile
第七步:建立配置檔案/etc/my.cnf
這裡的引數需要按照部署的環境更改
[[email protected] mysql-5.7.24]# cat /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql5.7
datadir=/usr/local/mysql5.7/data
socket=/usr/local/mysql5.7/data/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql5.7/data/err.log
pid-file=/usr/local/mysql5.7/data/mysql.pid
!includedir /etc/my.cnf.d
第八步:啟動資料庫
還有個點比較奇怪,MySQL5.7可能需要手動建立錯誤日誌檔案
touch /usr/local/mysql5.7/data/err.log
chown -R mysql.mysql /usr/local/mysql5.7
啟動資料庫
mysqld_safe &
第九步:連線資料庫
mysql -uroot -p -S /usr/local/mysql5.7/data/mysql.sock
參考官方文件:
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html