在CentOS 7版本中编译MySQL 5.7.20(很多)

在CentOS 7版本中编译MySQL 5.7.20(很多),mysql,centos,Mysql,Centos,我正在尝试使用CentOS No GUI设置MySQL服务器,为了能够访问加密工具,我需要切换到OpenSSL而不是YaSSL 这些问题在运行cmake时发生。起初,我得到了一个错误,即cmake无法找到boost,我通过添加参数-DWITH_boost修复了这个错误 cmake行如下所示 cmake . -DWITH_READLINE=ON -DWITH_SSL=system -DWITH_BOOST=/usr/local/src/mysql-5.7.20/boost/ 调整后,我再次运行C

我正在尝试使用CentOS No GUI设置MySQL服务器,为了能够访问加密工具,我需要切换到OpenSSL而不是YaSSL

这些问题在运行cmake时发生。起初,我得到了一个错误,即cmake无法找到boost,我通过添加参数-DWITH_boost修复了这个错误

cmake行如下所示

cmake . -DWITH_READLINE=ON -DWITH_SSL=system -DWITH_BOOST=/usr/local/src/mysql-5.7.20/boost/
调整后,我再次运行CMAKE,结果出现了几个错误

SSL错误,cmake找不到OpenSSL文件。我检查了库是否已安装,我还下载了tar.gz文件并对其进行解压缩,然后将cmake指向该文件夹,所有这些都不起作用

找不到NUMA库,我再次检查并安装了它,此时我运行了系统更新以检查所有内容,但这并没有解决问题

找不到ncurses,同样的东西也在系统上,但出于某种原因,cmake无法找到这些

不能fin libaio,我没有安装这个,我安装了,再次运行了cmake,cmake再次无法找到它

我环顾四周,试图找出所有这些问题,我加入了来自不同网站的信息,但仍然无法找出这一点


首先感谢大家的帮助。

MySQL让您面临地狱般的依赖。如果您真的不需要从源代码处编译,您仍然可以使用RPM进行安装,这要容易得多。此处描述了RPM方法:

当您要求从源代码处进行即时安装时,这就是我刚才所做的,它在全新的CentOS 7.4 minimal、2 vCPU 3Gb上运行:

yum group install -y 'Development Tools'
yum install -y cmake ncurses-devel curl

curl -Ovk https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
tar zxf mysql-5.7.20.tar.gz
cd mysql-5.7.20

cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=$HOME/boost -DENABLE_DOWNLOADS=1
make -j2
make install
之后,您需要配置它,添加启动脚本,当然还要保护它。以下是一些附加文档:

MySQL让您面临地狱般的依赖。如果您真的不需要从源代码处编译,您仍然可以使用RPM进行安装,这要容易得多。此处描述了RPM方法:

当您要求从源代码处进行即时安装时,这就是我刚才所做的,它在全新的CentOS 7.4 minimal、2 vCPU 3Gb上运行:

yum group install -y 'Development Tools'
yum install -y cmake ncurses-devel curl

curl -Ovk https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
tar zxf mysql-5.7.20.tar.gz
cd mysql-5.7.20

cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=$HOME/boost -DENABLE_DOWNLOADS=1
make -j2
make install
之后,您需要配置它,添加启动脚本,当然还要保护它。以下是一些附加文档:

也许可以尝试清洁;保持清洁;ldconfig然后运行cmake命令。有时系统找不到共享库,ldconfig会刷新库搜索路径。这在我编写emscripten时有过帮助吗?当编译错误出现时,需要安装很多库

清洁卫生;cmake clean将确保编译器在重新编译时不会查看旧的库搜索路径。

或许可以尝试使用make clean;保持清洁;ldconfig然后运行cmake命令。有时系统找不到共享库,ldconfig会刷新库搜索路径。这在我编写emscripten时有过帮助吗?当编译错误出现时,需要安装很多库


清洁卫生;cmake clean将确保编译器在重新编译时不会查看旧的库搜索路径。

我确实需要使用OpenSSL,我的另一个选择是购买mysql的商业版本,但价格太高。没有关于需要哪些依赖项的文档,但有ncurses和bison。请记住,为了进行编译,您还需要每个的-devel包,例如ncurses-devel。我曾多次从源代码处安装,但我没有跟踪需要添加哪些依赖项,我只记得有很多依赖项,在您完成之前,这将需要大约20次编译失败。是的,我看到了ncurses delevel,但我无法安装它,总是出现错误,而yum install ncurses delevel无法完成这一操作。我想我将不得不切换到另一个发行版,比如ubuntu,它对自动安装软件包有更多的支持。我已经安装了MySQL和ncurses-devel-not-delevel,请注意20次左右,并始终让它完美运行。ncurses在基本的repo中,在理论上安装不会有任何问题。嗯,我很确定我通过错误的阅读和键入把ncruse搞砸了。我无法测试您的建议,我一直在进行网络部署,但今天晚些时候我将进行测试。我会让你知道我是否至少可以解决ncurse问题。我真的需要为了使用OpenSSL,我的另一个选择是购买mysql的商业版本,但它太贵了。没有关于需要哪些依赖项的文档,但是ncurse和bison。请记住,为了进行编译,您还需要每个的-devel包,例如ncurses-devel。我曾多次从源代码处安装,但我没有跟踪需要添加哪些依赖项,我只记得有很多依赖项,在您完成之前,这将需要大约20次编译失败。是的,我看到了ncurses delevel,但我无法安装该依赖项,总是有
错误和yum install ncurses delevel不起作用。我想我将不得不切换到另一个发行版,比如ubuntu,它对自动安装软件包有更多的支持。我已经安装了MySQL和ncurses-devel-not-delevel,请注意20次左右,并始终让它完美运行。ncurses在基本的repo中,在理论上安装不会有任何问题。嗯,我很确定我通过错误的阅读和键入把ncruse搞砸了。我无法测试您的建议,我一直在进行网络部署,但今天晚些时候我将进行测试。我会让你知道我是否至少能解决ncurse问题。