GreatSQL是MySQL的国产分支版本,使用上与MySQL一致.
背景介绍
编译环境
编译前准备工作
编译GreatSQL
初始化并启动GreatSQL数据库
运行sysbench测试
附录:编译sysbench
本文简要记录在这三个操作系统下编译GreatSQL二进制包的过程.
$ lscpu

Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
查看操作系统发行版本
openEuler
$ cat /etc/os-release
ANSI_COLOR="0;31"
龙蜥Anolis
$ cat /etc/os-release
HOME_URL="https://openanolis.cn/"
统信UOS
$ cat /etc/os-release
UnionTech OS Server release 20 (kongzi)
并且都采用OS中预设的默认YUM源
$ cat openEuler.repo
...
$ cat AnolisOS-AppStream.repo
gpgcheck=1
$ cat UniontechOS.repo
...
参考文档 麒麟OS+龙芯环境编译GreatSQL,提前安装必要的一些基础包
$ dnf makecache
snappy-devel tar time unzip vim wget zlib-devel
openEuler下就可以根据安装文档麒麟OS+龙芯环境编译GreatSQL中列出的所有包,包括 jemalloc 包.
源码包 https://sourceforge.net/projects/jemalloc.mirror/files/
当然了,jemalloc并库不是必须的,用它的好处是可以优化内存管理性能等.有条件的话尽量启用,实在搞不定就放弃.
如果需要手动编译安装jemalloc,参考下面的方法即可:
$ tar zxf jemalloc-⑤2.1.tar.gz
$ ./configure --prefix=/usr make make install
将所有的源码包都放在 /opt 目录下.
编译安装patchelf:
$ cd /opt tar zxvf patchelf-0.1④tar.gz cd patchelf-0.14 ./bootstrap.sh ./configure make make install
编译安装rpcsvc-proto:
$ cd /opt tar zxvf rpcsvc-proto-1.④tar.gz cd rpcsvc-proto-1.4/ ./configure make make install
[root@ky10 ~]# cd /opt tar zxvf rpcsvc-proto-1.④tar.gz cd rpcsvc-proto-1.4/ ./configure make make install
确认glibc版本:
$ ldd --version
Written by Roland McGrath and Ulrich Drepper.
此时此刻呢编译GreatSQL二进制包
$ cat /opt/greatsql-build-tarball.sh
make -j${JOBS} make -j${JOBS} install
不出意外的话,就可以编译生成二进制文件了.
$ groupadd mysql useradd -g mysql mysql -s /sbin/nologin -d /dev/null
mysqld 85204 mysql mem REG 8,3 471696 3329101 /usr/lib64/libjemalloc.so.2
准备跑一轮sysbench测试
#先设置PATH
$ for i in $(seq 1 3);do sysbench /usr/local/share/sysbench/oltp_read_write.lua --mysql-host=localhost --mysql-user=root --mysql-password="" --mysql-socket=/usr/local/GreatSQL-⑧0.25-17-openEuler-glibc2.34-aarch64/data/mysql.sock --mysql-db=sbtest --db-driver=mysql --tables=10 --table_size=10000 --report-interval=1 --threads=8 --rand-type=uniform --db-ps-mode=disable --time=900 run > greatsql-802517-$i.log; sleep 300; done
#先做个动态库软链接
$ ./configure --with-mysql-includes=/usr/local/GreatSQL-⑧0.25-17-openEuler-glibc2.34-aarch64/include/ --with-mysql-libs=/usr/local/GreatSQL-⑧0.25-17-openEuler-glibc2.34-aarch64/lib/ make make install
全文完.
Enjoy GreatSQL ?
GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本.
相关链接: GreatSQL社区 Gitee GitHub Bilibili
社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html
微信:扫码添加GreatSQL社区助手微信好友,发送验证信息加群.
以上就是土嘎嘎小编为大家整理的openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!