欢送来到 GreatSQL社区分享的MySQL技术文章,如有疑难或想学习的内容,能够在下方评论区留言,看到后会进行解答

本文起源:原创投稿

  • GreatSQL社区原创内容未经受权不得随便应用,转载请分割小编并注明起源。
  1. 筹备
  2. 编译环境部署

2.1 首先先装置Cmake

2.2 也能够应用软件包管理工具brew进行装置

2.3 其余软件包装置类同,留神安装包版本

2.4 所有软件包装置实现后解压percona源码到本人目录

  1. 可能呈现的问题
  2. 目前percona局部函数在Macos零碎与ubuntu、centos上的差别

1. 筹备

编译环境所需软件包,顺次装置:

CMake3.21.2、OpenSSL1.1、ncurses、bison3.5.1、m4、boost1.73、flex 2.6.4

以上软件包能够自行到对应官网下载安装,下载地址参考如下

  • MySQL官网参考阐明(https://dev.mysql.com/doc/ref...)
  • percona下载(https://github.com/percona/pe...)
  • boost下载(https://www.boost.org/users/d...)
  • cmake下载(https://cmake.org/download/)
    目前已在Macos零碎10.14.6、10.15、11.6尝试编译通过,雷同硬件配置目前10.14.6零碎编译速度最快

2. 编译环境部署

2.1 首先先装置Cmake

双击cmake安装包进行装置,装置实现后执行命令查看cmake版本

$cmake --version

2.2 也能够应用软件包管理工具brew进行装置

以下具体以brew形式装置为样例

  • 1)首先装置软件包治理⼯具
brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
  • 2)应用以下命令先查看须要装置的版本是否存在,例如:
$ brew search openssl

找到对应版本1.1后执行命令进行装置

$ brew install openssl@1.1

装置实现执行以下命令后依据提醒设置环境变量

$ brew link openssl --force

编辑⽤户根⽬录.profile 文件(Macos零碎版本不同文件名可能存在不同,依据提醒操作相应文件)加⼊环境变量,增加该文件如:

依据装置完提醒加⼊

export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

2.3 其余软件包装置类同,留神安装包版本

2.4 所有软件包装置实现后解压percona源码到本人目录

进入percona源码目录,依据本人设置命令中相应资源目录:

  • -DWITH_ROCKSDB :boost压缩包目录
  • -DCMAKE_INSTALL_PREFIX:编译实现后默认装置目录
  • 其余参数可依据须要自行添加和批改,命令参考如下:
$ cmake -DCMAKE_BUILD_TYPE=DEBUG -DWITH_DEBUG=true -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost/ -DCMAKE_INSTALL_PREFIX=/usr/local/percona/ -DWITH_ZLIB=bundled -DWITH_LIBEVENT=bundled 

执行胜利后再执行编译并装置,其中-j10示意10个编译命令并行编译能够进步编译速度,具体并行编译命令应用个数能够依据本身电脑配置状况设定

$ make -j10 && make install

编译并装置实现后配置my.cnf文件启动数据库

3. 可能呈现的问题

  • 1)编译过程中如果呈现提醒xcode装置,依据提醒装置即可
  • 2)因为Macos零碎默认应用本人的ssl库,在cmake编译过程中如果呈现提醒找不到ssl库谬误,此时能够在cmake命令后退出参数指定openssl目录
    -DWITH_SSL='/usr/local/opt/openssl@1.1'
  • 3)呈现谬误后,再次执行cmake 命令前先清理CMakeCache.txt文件

4. 目前percona局部函数在Macos零碎与ubuntu、centos上的差别

因为零碎起因目前percona一些函数运算后果与其余零碎存在肯定的差别例如:以整数123456求正弦值等为例

Enjoy GreatSQL :)

文章举荐:

GreatSQL MGR FAQ
https://mp.weixin.qq.com/s/J6...

万答#12,MGR整个集群挂掉后,如何能力主动选主,不必手动干涉
https://mp.weixin.qq.com/s/07...

『2021数据技术嘉年华·ON LINE』:《MySQL高可用架构演进及实际》
https://mp.weixin.qq.com/s/u7...

一条sql语句慢在哪之抓包剖析
https://mp.weixin.qq.com/s/AY...

万答#15,都有哪些状况可能导致MGR服务无奈启动
https://mp.weixin.qq.com/s/in...

技术分享 | 为什么MGR一致性模式不举荐AFTER
https://mp.weixin.qq.com/s/rN...

对于 GreatSQL

GreatSQL是由万里数据库保护的MySQL分支,专一于晋升MGR可靠性及性能,反对InnoDB并行查问个性,是实用于金融级利用的MySQL分支版本。

Gitee:
https://gitee.com/GreatSQL/Gr...

GitHub:
https://github.com/GreatSQL/G...

Bilibili:
https://space.bilibili.com/13...

微信&QQ群:
可搜寻增加GreatSQL社区助手微信好友,发送验证信息“加群”退出GreatSQL/MGR交换微信群

QQ群:533341697
微信小助手:wanlidbc

本文由博客一文多发平台 OpenWrite 公布!