叨叨最近遇到的一些事以及见闻、思考。
最近一直在折腾GreatSQL源码编译,以及整理ansible一键安装包相关的事。
1. MySQL 8.0源码编译
为了能在正式开源后,方便社区用户自行编译源码,我得先验证各种编译方法是否都能顺利跑通。在尝试各种方案、遇到各种状况之后,发现源码编译这事还真不是一帆风顺的。
常规情况下,如果只是想编译出二进制可执行文件,其实还是比较容易的,升级gcc版本,安装必要的编译工具、依赖包之后,基本上就能搞定。
但如果还要能编译出二进制压缩包,以及RPM包的话,那就比较费劲了,要应对各种异常报错,截止本文编辑之时,只调试通过了二进制包的编译,RPM包还没编译成功,汗~
折腾几圈下来,最后发现还是用Docker来构建编译环境比较方便,等所有环境都调试通过后,我再把构建编译环境的过程整理发出来。
P.S,GreatSQL的源码即将放出,还在合并一个重要的Patch中,请耐心等待。
2. ansible一键安装
周末帮一位网友排查GreatSQL-Ansible一键安装包执行报错问题时,发现一个小问题:如果Ansible通过跨公网(网络延迟略大的环境)安装远程服务器时,安装包传送到远程主机并解压缩时可能遇到问题,导致安装过程中想要从中copy文件到目标目录会报告失败,如果是通过内网(即便是在有内网的环境里,走公网地址也能成功)安装则没有这个问题,有经验的同学请帮忙留言告知。
报错信息类似下面这样:
代码语言:javascript复制TASK [copy my.cnf] **********************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AnsibleFileNotFound: Could not find or access '/usr/local/GreatSQL-8.0.25-15-Linux-glibc2.17-x86_64-minimal/support-files/my.cnf'
fatal: [111.230.xx.xx]: FAILED! => {"changed": false, "msg": "Could not find or access '/usr/local/GreatSQL-8.0.25-15-Linux-glibc2.17-x86_64-minimal/support-files/my.cnf'"}
远程主机上的文件 /usr/local/GreatSQL-8.0.25-15-Linux-glibc2.17-x86_64-minimal/support-files/my.cnf
实际上是存在的,略诡异~
先就这些吧。