問題
由于主機未連接外網(wǎng)并且只有普通權(quán)限用戶搞糕,想通過源碼安裝MySQL5.7
流程
1脊髓、官網(wǎng)下載MySQL源碼
2、使用cmake
編譯
cmake -DCMAKE_INSTALL_PREFIX=/user/mySQL-package/mysql -DWITH_BOOST=/user/boost-1-65-1/boost_1_59_0
make
make install
3署辉、由于業(yè)務(wù)改成使用Oracle族铆,所以并未繼續(xù)驗證……
遇到的各種報錯
-
gcc
版本過低
gcc版本過低.png
安裝新版本
gcc
-
在MySQL源碼目錄下修改CMakeLists.txt,指定編譯時使用的
gcc
與g++
版本開頭添加:SET(CMAKE_C_COMPILER "/user/gcc-4.4.7/gcc-4.4dest/bin/gcc") SET(CMAKE_CXX_COMPILER "/user/gcc-4.4.7/gcc-4.4dest/bin/g++")
-
boots
版本過低
boots版本過低.png
下載對應(yīng)版本的boost庫Boost C++ Libraries
上傳主機解壓
-
在cmake時增加參數(shù):
cmake -DCMAKE_INSTALL_PREFIX=/user/mySQL-package/mysql -DWITH_BOOST=/user/boost-1-65-1/boost_1_59_0
version GLIBCXX_3.4.9' not found
version GLIBCXX_3.4.9 not found.png
由于
make
時會找/usr/lib64
目錄下的/usr/lib64/libstdc++.so.6
文件哭尝,沒有去找剛安裝的gcc目錄下該文件……哥攘,暫時還不知道如何解決。嘗試過修改LD_LIBRARY_PATH
材鹦;在cmake時帶參數(shù):-DINSTALL_LIBDIR=/user/gcc-4.4.7/gcc-4.4dest/lib
逝淹,都不行,思考中
思考
1桶唐、是否可以通過CMakeLists.txt來指定最低gcc版本栅葡,而不用重新編譯安裝高版本gcc
參考文章
cmake指定c++編譯版本
CMAKE的使用
mysql 5.6 升級5.7
Linux gcc源碼安裝
Linux cmake源碼安裝