欢送来到 GreatSQL社区分享的MySQL技术文章,如有疑难或想学习的内容,能够在下方评论区留言,看到后会进行解答
本文起源:原创投稿
- GreatSQL社区原创内容未经受权不得随便应用,转载请分割小编并注明起源。
- 筹备
- 编译环境部署
2.1 首先先装置Cmake
2.2 也能够应用软件包管理工具brew进行装置
2.3 其余软件包装置类同,留神安装包版本
2.4 所有软件包装置实现后解压percona源码到本人目录
- 可能呈现的问题
- 目前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 公布!