0

0

OS X编译安装MariaDB

php中文网

php中文网

发布时间:2016-06-07 15:21:22

|

1262人浏览过

|

来源于php中文网

原创

很多开发环境需要我们安装数据库,随着mysql的日渐衰弱,更多的开发环境使用mariadb作为数据库,而mariadb数据库目前没有OS X的r

mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可 mariadb的目的是完全兼容mysql,包括api和命令行,,使之能轻松成为mysql的代替品。

很多开发环境需要我们安装数据库,随着mysql的日渐衰弱,更多的开发环境使用mariadb作为数据库,而mariadb数据库目前没有OS X的release版本,所以我们需要手动编译安装

修改代码

由于mariadb本身使用了tokudb的上游代码,而tokudb目前尚未有支持OS X的计划,所以常规安装方式是不成功的,我们需要对代码本身进行修改。
由于是tokudb引擎导致的问题,所以只需要修改两个文件
storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake

-set(CMAKE_C_FLAGS "-Wall -Werror ${CMAKE_C_FLAGS}") -set(CMAKE_CXX_FLAGS "-Wall -Werror ${CMAKE_CXX_FLAGS}") +set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}") +set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")

storage/tokudb/ha_tokudb.cc
- extern const char * const tokudb_hton_name;
+ extern const char *tokudb_hton_name;

笔者猜测最根本的原因是tokudb没有对OS X编译工具链做编译测试,OS X的编译工具是LLVM和BSD工具,而并非是gcc和GNU工具,所以在一些细节上有一些差别。如果没有改代码,会导致以下信息报错

[ 80%] Building CXX object storage/tokudb/ft-index/locktree/CMakeFiles/locktree_static.dir/locktree.cc.o In file included from /Users/tangjiacheng/Development/server/storage/tokudb/ft-index/locktree/locktree.cc:99: In file included from /Users/tangjiacheng/Development/server/storage/tokudb/ft-index/locktree/locktree.h:94: /Users/tangjiacheng/Development/server/storage/tokudb/ft-index/buildheader/db.h:323:1: error: empty C++ [-Werror,-Wextern-c-compat] struct __toku_db_lsn { ^ 1 error generated. make[2]: *** [storage/tokudb/ft-index/locktree/CMakeFiles/locktree_static.dir/locktree.cc.o] Error 1 make[1]: *** [storage/tokudb/ft-index/locktree/CMakeFiles/locktree_static.dir/all] Error 2 make: *** [all] Error 2

In file included from /Users/tangjiacheng/Development/server/storage/tokudb/ha_tokudb.cc:8293: /Users/tangjiacheng/Development/server/storage/tokudb/hatoku_hton.cc:262:13: error: redefinition of 'tokudb_hton_name' with a different type: 'const char *' vs *tokudb_hton_name = "TokuDB"; ^ /Users/tangjiacheng/Development/server/storage/tokudb/ha_tokudb.cc:382:31: note: previous definition is here * const tokudb_hton_name;

注:至于一些朋友说homebrew install mariadb可以安装mariadb的说法,其实是因为homebrew本身修改过mariadb的代码,增加了一个cmake选项禁用了tokudb,而tokudb本身代码是没有问题的,因噎废食的做法笔者不敢苟同,所以还是原生编译安装更加实在。Homebrew.mariadb

使用XtraBackup备份恢复MariaDB数据库 

在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP)

B2S商城系统
B2S商城系统

B2S商城系统B2S商城系统是由佳弗网络工作室凭借专业的技术、丰富的电子商务经验在第一时刻为最流行的分享式购物(或体验式购物)推出的开源程序。开发采用PHP+MYSQL数据库,独立编译模板、代码简洁、自由修改、安全高效、数据缓存等技术的应用,使其能在大浏览量的环境下快速稳定运行,切实节约网站成本,提升形象。注意:如果安装后页面打开出现找不到数据库等错误,请删除admin下的runtime文件夹和a

下载

MariaDB Proxy读写分离的实现

Linux下编译安装配置MariaDB数据库的方法

CentOS系统使用yum安装MariaDB数据库

安装MariaDB与MySQL并存

Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10 

[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB 

MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里

本文永久更新链接地址

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【李炎恢】ThinkPHP8.x 后端框架课程
【李炎恢】ThinkPHP8.x 后端框架课程

共50课时 | 4.2万人学习

swift开发文档
swift开发文档

共33课时 | 17.5万人学习

Linux优化视频教程
Linux优化视频教程

共14课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号