欢送来到 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 公布!