不定期更新的小笔记,大多数都是懒得去翻Google而做的合集,以及一些我碰见过的坑。(不定期更新)
一般都是更新一些干货,如果有问题也请在评论区指出。由于是笔记,而我也没强迫症,所以排版都是比较随意的。
关于数据库:
从数据库性能来说,目前开源的数据库性能排行大概是
Mysql:
Alisql>mysql8.0>mariadb>mysql5.x
本文暂时不对Postgesql进行比较
所以很多情况下用mysql最好还是折腾alisql,毕竟性能是最强的,比最新的MySQL8.0还强。
所以我大多数项目也是能上alisql就上,只可惜现在都闭源三四年了,连个更新都没有,也就几个大厂会把好东西开源几个版本给我们这些弟弟用用。但宣布闭源的结果就是很多新版本的gcc/g++,cmake不支持一些老的代码片段,就像‘\0’和“\0”在不同版本的编译环境下就有时候能用有时候不能用。
于是新版本的系统,比方说debian10,ubuntu20等新版本系统都出现了alisql无法编译安装的情况,挺多人用Centos7就能安装上。而出现错误的原因也就是上段所说的编译环境问题。
之前折腾Ubuntu的时候也意识到这个问题,所以尝试过降级gcc和cmake,但会出现很严重的闭环错误并且系统会出现依赖库版本错误问题导致大多数命令无法使用。所以为了最终能在ubuntu上安装alisql,只能分析错误日志然后改改源码。
/srv/mysql/src/sql/sql_acl.cc:3071:59: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
3071 | if (combo->plugin.str == NULL || combo->plugin.str == '\0')
| ^~~~
make[2]: *** [sql/CMakeFiles/sql.dir/build.make:962: sql/CMakeFiles/sql.dir/sql_acl.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:5081: sql/CMakeFiles/sql.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
就像上述错误代码,其实解决办法很简单,将 sql_acl.cc:3071 行的 ‘\0’ 改成“\0”就行
而相信现在不少人用bt面板,想在此环境下安装,可在安装进程运行的时候去修改文件,一般在编译进度在80%之前修改完此问题便可正常在Ubuntu20/debian10下使用alisql。
moye0LV4
牛,老哥