问题
由于主机未连接外网并且只有普通权限用户,想通过源码安装MySQL5.7
流程
1、官网下载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、由于业务改成使用Oracle,所以并未继续验证……
遇到的各种报错
-
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
下载对应版本的boost库Boost C++ Libraries
上传主机解压
-
在cmake时增加参数:
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时带参数:-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源码安装