Login
网站首页 > 文章中心 > 其它

openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包

作者:小编 更新时间:2023-09-09 07:41:24 浏览量:131人看过

GreatSQL是MySQL的国产分支版本,使用上与MySQL一致.

背景介绍

编译环境

编译前准备工作

编译GreatSQL

初始化并启动GreatSQL数据库

openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包-图1

运行sysbench测试

附录:编译sysbench

1. 背景介绍

本文简要记录在这三个操作系统下编译GreatSQL二进制包的过程.

2. 编译环境

    $ lscpu

openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包-图2

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

openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包-图3

    $ 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

此时此刻呢编译GreatSQL二进制包

    $ cat /opt/greatsql-build-tarball.sh

 make -j${JOBS}  make -j${JOBS} install

不出意外的话,就可以编译生成二进制文件了.

⑤ 初始化并启动GreatSQL数据库

    $ 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测试

准备跑一轮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

附录:编译sysbench

    #先做个动态库软链接
$ ./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

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本.

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html

openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包

技术交流群:

微信:扫码添加GreatSQL社区助手微信好友,发送验证信息加群.

openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包

以上就是土嘎嘎小编为大家整理的openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章