玛丽亚数据库

代码人生 2023-08-11 19:25:30
4阅读

MariaDB中文手册

MariaDB

这是MariaDB 的主存储库。

请点击下面的链接查找您感兴趣的信息。如果您在文档中找不到所需的任何具体信息,您可以在此处提出问题,我们将尽力提供最佳答案!

MariaDB简介

MariaDB 是增强的MySQL 替代品,可在GPL v2 许可证下使用。

它主要由MariaDB 社区开发并由MariaDB 基金会托管。

安全性

当今世界,安全性非常重要,这也是MariaDB开发人员特别关注的。该项目在MySQL 之上维护自己的一组安全补丁。在每个MariaDB 版本中,开发人员都将整合所有MySQL 安全补丁,如有必要,我们将对其进行增强。当发现严重的安全问题时,开发人员立即准备并分发新版本的MariaDB,以尽快修复该问题。

MariaDB 团队发现并报告了MySQL 和MariaDB 中的许多安全问题。 MariaDB 团队与http://cve.mitre.org/密切合作,确保及时报告所有安全问题并得到充分详细的解释。在修复MariaDB 和MySQL 版本之前,安全详细信息通常不会公开。

兼容性

MariaDB 与MySQL 在同一分支上保持最新,并且在大多数方面,MariaDB 几乎与MySQL 相同。 MySQL 中存在的所有命令、接口、库和API 也存在于MariaDB 中。切换到MariaDB 不需要数据库转换。 MariaDB 是MySQL 的真正替代品!另外,您还可以利用MariaDB 的许多不错的新功能。

更多信息请参阅:MariaDB 常见问题解答

目前版本发布计划

当前的稳定版本是MariaDB 5.5。开发版本是MariaDB 10.0。之前的稳定版本是MariaDB 5.3。当前的稳定版本和MariaDB 开发版本(以及许多以前的版本)可以从http://downloads.mariadb.org 下载。

我们大约一个月更新到活动版本。主要版本大约每隔9 个月发布一次。在10.x 版本中,间隔可能在6 个月内。

http://mariadb.org/jira 上的路线图将让您了解下一个MariaDB 版本的预期内容。这当然只是一个估计,但开发人员试图尽可能坚持这一点。

支持  

MariaDB 和MySQL 都将得到MariaDB 社区的支持。 MariaDB 和MySQL 可以获得来自Monty Program Ab 和SkySQL 等多家公司的24x7、咨询、错误修复支持,以及其他级别的支持。

另见

MariaDB 与MySQL 功能MariaDB 与MySQL 兼容性不同MariaDB 版本中有什么MariaDB 发行说明

入门指南

MariaDB 入门指南(安装、下载等.)

MariaDB获取、安装、升级

从哪下载MariaDB ?

某些Linux 发行版的源代码、二进制文件(Linux、Solaris、windwows)和rpm 软件包可在downloads.askmonty.org 上获取。

我们希望对社区包维护感兴趣的人们能够挺身而出,为他们的发行版构建包。我们要求严格遵守包系统最佳实践,如果我们的项目以任何方式妨碍,请报告。

如何安装包请参考这里

发行版包括MariaDB

请参阅:Distributions 其中包括MariaDB

获取源代码

您可以在我们的Launchpad 存储库中找到所有源代码。

拉取或提交代码,bzr(Bazaar)版本控制软件提供了一条阻力最小的路径。如果您对bzr 不熟悉,请参阅bzr 文档以了解bzr 版本控制。

有关创建您自己的本地MariaDB 分支的说明,请参阅:MariaDB 源代码页。

有关从源代码编译MariaDB 的一般说明:通用构建说明。源页面包含指向平台和特定信息的链接,包括有关我们如何构建发行版的信息。

MariaDB 二进制包安装

安装MariaDB二进制包

MariaDB二进制包命名约定:mariadb-VERSION-OS.tar.gz。确保为您的机器下载正确的版本。

要安装二进制文件,请将其解压到您选择的目录并运行mysql_install_db 脚本。

在以下示例中,我们将MariaDB 安装在/usr/local/mysql 目录中(这是许多平台上MariaDB 的默认位置),但是任何其他目录也是可能的。

我们使用原始名称的符号链接来安装二进制文件。通过这样做,您可以通过修改符号链接以指向另一个目录来轻松更改MariaDB 版本。

注意:对于MariaDB 5.1.32只有行“./scripts/mysql_install_db user=mysql”更改为“./bin/mysql_install_db user=mysql”

确保您使用正确的my.cnf文件

MariaDB 搜索配置文件“/etc/my.cnf”(在某些系统上为/etc/mysql/my.cnf)和“~/my.cnf”。如果是旧文件my.cnf(可能来自系统安装) MariaDB 或MySQL)存在,您需要注意不要将旧的my.cnf 用于新的二进制安装。

正常的解决方案是忽略/etc目录中的my.cnf文件。

通过在主目录中创建您自己的my.cnf 文件,告诉mysql_install_db、mysqld_safe 以及可能的mysql(命令行客户端程序)仅使用选项“defaults-file=~/.my.cnf”。注意这个选项是上面命令的第一个选项!

Root用户安装MariaDB到 /usr/local/mysql

如果您具有系统的root 访问权限,您可能需要在mysql 用户和组下安装MariaDB”(安装以保持与mysql 的兼容性):

组添加mysql

useradd -g mysql mysql

cd /usr/local

tar -zxvpf /路径/mariadb-VERSION-OS.tar.gz

ln -s mariadb-版本-操作系统mysql

cd mysql

./scripts/mysql_install_db user=mysql

chown -R 根。

chown -R mysql数据

您现在启动mysqld:

./bin/mysqld_safe user=mysql

或者

./bin/mysqld_safe defaults-file=~/.my.cnf user=mysql

要测试连接,请修改$PATH,以便可以调用mysql、mysqldump 等客户端。

导出PATH=$PATH:/usr/local/mysql/bin/

您可能需要修改.bashrc 或.bash_profile 以进行固化。

安装MariaDB到任何目录

接下来修改默认安装路径。 /usr/local 是您选择的目录。

cd /usr/local

gunzip /路径/mariadb-VERSION-OS.tar.gz |焦油xf -

ln -s mariadb-版本-操作系统mysql

cd mysql

./scripts/mysql_install_db defaults-file=~/.my.cnf

如果上面的gunzip命令有问题,可以使用tar代替gnu:

tar xfz /path-to/mariadb-VERSION-OS.tar.gz

现在启动mysqld:

./bin/mysqld_safe --defaults-file=~/.my.cnf

安装后

此后,请记住为所有来自不可信来源的访问帐户设置正确的密码,以免暴露主机的安全风险!还可以考虑使用mysql.server 在系统启动时自动启动MariaDB。

MariaDB 二进制文件类似于用于MySQL 二进制发行版的通用二进制文件。因此,要获得使用这些二进制文件的更多选项,您可以安装Universal Binaries for MySQL 5.5。

有关构建二进制文件的确切步骤的详细信息,请参阅MariaDB 知识库的编译部分。

安装MariaDB.deb文件

用APT安装MariaDB

对于Debian 和Ubuntu,强烈建议使用apt-get、aptitude 或其他包管理器从存储库进行安装。

导入GnuPG签名密钥

首先导入gpg 密钥,我们用它来签署存储库。该密钥允许apt 验证下载的包的完整性。

我们的签名密钥ID 是0xcbcb082a1bb943db 和完整密钥指纹:

1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB

apt-key 程序有一个简单的方法可以将此密钥导入apt:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com0xcbcb082a1bb943db

一会儿导入签名密钥,上面的命令在ubuntu或debian系统中还是一样。

示例:

localhost:~# apt-key adv recv-keys keyserver keyserver.ubuntu.com0xcbcb082a1bb943db

执行: gpg ignore-time-conflict no-options no-default-keyring secret-keyring /tmp/tmp.ASyOPV87XC trustdb-name /etc/apt/trustdb.gpg keyring /etc/apt/trusted.gpg primary-keyring /etc/apt/trusted.gpg recv-keys keyserver keyserver.ubuntu.com0xcbcb082a1bb943db

gpg: 从hkp 服务器keyserver.ubuntu.com 请求密钥1BB943DB

gpg: 密钥1BB943DB: 公钥“Daniel Bartholomew(Monty 程序签名密钥)dbart@askmonty.org”已导入

gpg: 未找到最终可信密钥

gpg: 处理总数: 1

gpg: 进口: 1

添加密钥后,您就可以添加适当的存储库了。

添加MariaDB到您的来源.list

使用我们的在线存储库配置工具可以轻松生成正确的sources.list条目(也称为APT行)。

在该工具中,根据您使用的发行版选择“debian”或“ubuntu”,然后选择特定系列,并安装您想要的MariaDB 版本。

您可以找出您正在使用的版本系列, lsb_release -a

一旦你有了sources.list条目,将它们添加到本地/etc/apt/sources.list(例如使用“sudo gedit /etc/apt/sources.list”或在sources.list.d/中有一个单独的文件)如“sudo gedit /etc/apt/sources.list.d/mariadb.list”)

您还可以使用软件源工具添加APT 行。该工具可在Ubuntu 软件中心的“编辑”菜单下找到。在Synaptic 包管理器中,该工具称为“存储库”,它被加载到“设置”菜单中。启动该工具后,选择“其他软件”选项卡,单击“添加.”按钮并将行粘贴到APT 中(每行两行)。

用apt -get安装MariaDB

使用密钥和APT 行,您现在可以运行: sudo apt-get update

.下载信息apt 需要知道安装MariaDB。

MariaDB 可以使用您最喜欢的包管理器安装,例如: sudo apt-get install mariadb-server-5.5

使用apt -get安装MariaDB Galera Cluster

安装MariaDB Galera Cluster的介绍与MariaDB安装几乎相同。介绍签名密钥的设置和创建资源。列表条目都是相同的。唯一的区别在于安装步骤。您可以像这样安装mariadb-galera-server 和galera 包,而不是mariadb-server 安装包:

sudo apt-get install mariadb-galera-server galera

如果服务器已经安装了mariadb-server 软件包,它将自动删除,然后安装mariadb-galera-server。

有关MariaDB Galera Cluster 的更多信息,请参阅Galera 部分。

手动安装.deb文件

尽管不推荐,但可以手动下载并安装软件包(即无需像apt-get 这样的软件包管理器)。浏览最新镜像下的repo/目录。deb 文件分别位于debian /pool/和ubuntu/pool/中。

这里使用的命令是在Debian 5 amd64 机器上安装MariaDB 5.1.42(其他基于Debian 的发行版应该类似) :

sudo apt-get 更新

sudo apt-get install libdbi-perl libdbd-mysql-perl psmisc

sudo dpkg --安装mysql-common_5.1.42-mariadb73_all.deb

sudo dpkg --安装libmariadbclient16_5.1.42-mariadb73_amd64.deb libmysqlclient16_5.1.42-mariadb73_amd64.deb

mariadb-client_5.1.42-mariadb73_all.deb mariadb-client-5.1_5.1.42-mariadb73_amd64.deb mariadb-server_5.1.42-mariadb73_all.deb

mariadb-server-5.1_5.1.42-mariadb73_amd64.deb

评论

Re: 安装MariaDB .deb 文件

如果您位于防火墙后面,您还可以尝试通过端口80 访问密钥:

sudo apt-key adv recv-keys keyserver hkp:keyserver.ubuntu.com:80 1BB943DB

Re: 安装MariaDB .deb 文件

适当的链接是: sudo apt-key adv recv-keys keyserver hkp://keyserver.ubuntu.com:80 1BB943DB

Re: 安装MariaDB .deb 文件

sudo apt-key adv recv-keys keyserver hkp:keyserver.ubuntu.com:80 1BB943DB

MariaDB RPM安装

MariaDB 项目为基于RPM 的Linux 发行版提供RPM 包和YUM 存储库。此处的文章提供有关使用YUM 存储库和RPM 文件的信息和说明。

关于MariaDB RPM文件

本页描述了MariaDB 发行版中的几个RPM 包的内容。

MariaDB 5.3 及以下版本:

Package Name

Description

MariaDB 客户端

客户端工具,例如mysql CLI、mysqldump 等

MariaDB-调试信息

服务器资源和二进制版本的调试信息

MariaDB-开发

开发头文件和静态库

MariaDB-服务器

服务器和像myisamchk和mysqlhotcopy这样的服务器工具都在这里。它还包括字符集文件。

MariaDB-共享

动态客户端库

MariaDB 测试

mysql-客户端-测试可执行文件

这些包的文件名相似:MariaDB-shared-5.2.5-99.el5.x86_64.rpm。

还有一个具有类似文件名的源RPM:MariaDB-5.3.7-116.el5.src.rpm。

适用于MariaDB 5.5 及更高版本的软件包:

Package Name

Description

MariaDB 客户端

客户端工具,例如mysql CLI、mysqldump 等

MariaDB-common

字符集文件和/etc/my.cnf

MariaDB 兼容

客户端旧共享库,旧版本的MariaDB 或MySQL 客户端可能需要

MariaDB-开发

开发标头和静态库。

MariaDB-服务器

服务器以及myisamchk和mysqlhotcopy等服务器工具都在这里

MariaDB-共享

动态客户端库

MariaDB 测试

mysql-client-test 可执行文件和mysql-test 测试框架

这些软件包的文件名是:MariaDB-5.5.24-rhel5-i686-shared.rpm。

MariaDB 5.5+不提供源RPM包。如果您想构建MariaDB 5.5 + RPM 包,请参阅:在CentOS 上构建MariaDB

注意,绑定的服务器共享库-libmysqld存在于MariaDB-server包中,绑定的服务器静态库-libmysqld.a存在于MariaDB-devel包中。

更好的是,您应该使用Linux 发行版的包管理器来安装MariaDBRPM 包,例如yum或zypper。但您也可以使用低级rpm 工具。

用yum安装MariaDB

对于CentOS、RedHat、Fedora,强烈建议使用yum 从存储库安装。这告诉您只需三个简单的步骤即可完成此操作。

导入MariaDB签名密钥

首先导入我们用来签署存储库的gpg 密钥。 yum 和rpm 使用此密钥来验证下载的包的完整性。

我们的签名密钥的ID是0xcbcb082a1bb943db,完整的密钥指纹是: 1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB

为了方便起见,这些公钥存储在我们的YUM 服务器上。您可以使用rpm 应用程序轻松导入此密钥: sudo rpm --importhttp://yum.mariadb.org/RPM-GPG-KEY-MariaDB

添加密钥后,您就可以添加适当的存储库了。

添加MariaDB YUM库

我们有一个基于YUM 的Linux 发行版的YUM 存储库。使用我们的在线存储库生成器轻松生成适合您的发行版的MariaDB.repo 实体。

目前我们有CentOS 5、CentOS 6、RHEL 5、Fedora 16 的存储库。

一旦您拥有自己的MariaDB.repo 实体。将其添加到/etc/yum.repos.d/。 (我们推荐类似/etc/yum.repos.d/MariaDB.repo 的内容。)

CentOS 5 x86 示例MariaDB.repo:

[玛丽亚数据库]

名称=MariaDB

baseurl=http://yum.mariadb.org/5.5/centos5-x86

gpg检查=1

用YUM 安装MariaDB

使用密钥和repo 文件,您可以安装MariaDB:sudo yum install MariaDB-server MariaDB-client

安装完成后,启动MariaDB: sudo /etc/init.d/mysql start

用rpm工具安装MariaDB

本文介绍如何下载RPM 文件并使用RPM 命令进行安装。

链接到http://downloads.mariadb.org 并选择所需的数据库版本,然后选择与您的Linux 发行版和架构相匹配的rpm 包。

单击这些链接将为您提供本地镜像。选择rpm 链接并下载所需的软件包。该包将类似于以下:

MariaDB-client-5.2.5-99.el5.x86_64.rpm

MariaDB-debuginfo-5.2.5-99.el5.x86_64.rpm

MariaDB-devel-5.2.5-99.el5.x86_64.rpm

MariaDB-server-5.2.5-99.el5.x86_64.rpm

MariaDB-shared-5.2.5-99.el5.x86_64.rpm

MariaDB-test-5.2.5-99.el5.x86_64.rpm

对于标准服务器安装,您至少需要下载客户端、共享和服务器RPM 文件。有关每个RPM 包的更多信息,请参阅: 关于MariaDB RPM 文件。

在安装MariaDB 之前,请注意它会与现有的MySQL 安装发生冲突。要检查MySQL 是否已安装,可以发出以下命令: rpm -qa 'mysql*'

如有必要,您可以在安装MariaDB 之前删除已发现的MySQL 软件包。

MariaDB安装,使用命令: rpm -ivh MariaDB-*

您应该看到像这样的输出:

准备中……############################################## [100% ]

1: MariaDB 共享############################################## [ 14%]

2: MariaDB 客户端############################################### [ 29%]

3: MariaDB 客户端############################################### [ 43%]

4:MariaDB-deb

uginfo      ########################################### [ 57%]    5:MariaDB-devel          ########################################### [ 71%]    6:MariaDB-server         ########################################### [ 86%] 一定要遵循上面的给出指令,并为root用户设置密码,既可以使用mysqladmin或通过运行/ usr/bin/ mysql_secure_installation脚本。 MariaDB RPM文件的安装将安装MySQL工具在/usr/ bin目录。您可以使用MySQL客户机程序确认MariaDB已经安装。发出命令,mysql应该给出MariaDB光标。 参照: Installing MariaDB with yumTroubleshooting MariaDB Installs on RedHat/CentOSChecking MariaDB RPM Package Signatures检查MariaDB RPM包的签名 自从MariaDB 5.1.55,MariaDB RPM软件包被签名。 我们使用密钥id为1BB943DB和密钥指纹是: 1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB 检查签名首先需要输入的密钥的共钥部分: gpg –keyserver hkp://pgp.mit.edu –recv-keys 1BB943DB 接下来,您需要让pgp知道密钥: gpg –export –armour 1BB943DB > mariadb-signing-key.asc sudo rpm –import mariadb-signing-key.asc 您可以检查密钥是否已经导入: rpm -qa gpg-pubkey* 一旦密钥被导入,您可以在下载目录下通过运行下面的命令来检查MariaDB RPM文件的签名:rpm –checksig $(find . -name ‘*.rpm’) 上面的输出将类似这样(确保gpg输出都是ok): me@desktop:~$ rpm –checksig $(find . -name ‘*.rpm’) ./kvm-rpm-centos5-amd64/rpms/MariaDB-test-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK ./kvm-rpm-centos5-amd64/rpms/MariaDB-server-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK ./kvm-rpm-centos5-amd64/rpms/MariaDB-client-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK ./kvm-rpm-centos5-amd64/rpms/MariaDB-shared-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK ./kvm-rpm-centos5-amd64/rpms/MariaDB-devel-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK ./kvm-rpm-centos5-amd64/rpms/MariaDB-debuginfo-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK ./kvm-rpm-centos5-amd64/srpms/MariaDB-5.1.55-98.el5.src.rpm: (sha1) dsa sha1 md5 gpg OK 参照: Installing MariaDB RPM FilesTroubleshooting MariaDB Installs on RedHat/CentOS RedHat/CentOS安装MariaDB故障排除   下面的文章是当在RedHat/CentOS上安装MariaDB遇到不同的问题  在RedHat/CentOS您既可以安装RPM 也可以tar ball。RPM是推荐使用的版本,但除非您想安装MariaDB的多种版本或安装在一个非标准位置。 替代MySQL 如果您移除MySQL RPM安装MariaDB,注意,MySQL RPM在卸载会把/etc/my . cnf重命名/ etc / my.cnf.rpmsave。 在安装之后您可以按照如下方式来恢复您的MariaDB配置选项: mv /etc/my.cnf.rpmsave /etc/my.cnf 不支持旧版本的配置选项: 如果您在在/etc/my.cnf或其他my.cnf中文件正使用任何下列选项,应删除它们。这也同样适用于MySQL 5.1或更新版本: skip-bdb 参照: Installing MariaDB RPM FilesChecking MariaDB RPM Package SignaturesMariaDB 在DirectAdmin中使用RPMs 如果您在DirectAdmin中用YUM安装MariaDB遇到任何问题,那么下面的指导可能会有帮助。这个过程是非常简单的。 注意:用YUM安装比手动安装MariaDB RPM软件包更好 ,如果您有以下问题,如: Starting httpd: httpd: Syntax error on line 18 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf/extra/httpd-phpmodules.conf: Cannot load /usr/lib/apache/libphp5.so into server: libmysqlclient.so.18: cannot open shared object file: No such file or directory 或者 Starting httpd: httpd: Syntax error on line 18 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf/extra/httpd-phpmodules.conf: Cannot load /usr/lib/apache/libphp5.so into server: /usr/lib/apache/libphp5.so: undefined symbol: client_errors RPM安装 安装RPM包,有一个RPM工具快速容易安装MariaDB。按照说明那里。 必要的编辑 我们不想让管理系统的custombuild删除/覆盖我们安装的MariaDB每当执行更新时。为了纠正这一点,禁用自动安装MySQL。 编辑/usr/local/directadmin/custombuild/options.conf 把mysql_inst=yes修改成mysql_inst=no 注意:当MariaDB手动安装(即不使用YUM)、更新并不是自动的。您将需要自己更新rpm。 MariaDB RPM为什么不包含源代码RPM(SRPMS)? 我们使用构建系统的CMake CPack包生成器(CMake CPack Package Generators)来构建MariaDB rpm包。这个系统被称为CPackRPM。 CPackRPM在生成一个二进制RPM非常方便,因此不需要您做% prep,%build和%install。在cmake.list上 Eric Noulard提供有关这个问题好的解释。 我们目前正在研究使用源RPM生成器通过宏作为备有证明文件。 如果您需要编译和创建自己的MariaDB.rpm文件,参见Building MariaDB on CentOS。 Windows上安装MariaDB MSI包 MSI包可用从Mariadb5.2.6版本开始。包可被用于x86(32位)和x64(64位)处理器架构。我们将使用一个x64(32位安装程序非常类似)安装屏幕截图来演示。 重要: 和Mariadb5.2.5及更早版本的安装器NSIS保持兼容。如果您在已经安装MariaDB5.2.5和更早版本的机器上为MariaDB 5.2安装MSI包, MSI包将失败并告诉您卸载5.2旧版本。这种行为被设计的,您可以无须担心地继续卸载5.2.x。现有的数据库将不会被删除。 图形安装 典型的安装模式。开始安装程序,只需点击mariadb – <主要> . <次要> . <补丁> . msi 欢迎 许可证协议 点击“我接受条款” 自定义安装 在这里,您可以选择安装什么功能。默认情况下,所有的功能都被安装除了调试标志。如果“数据库实例”功能被选中,安装程序将创建一个数据库实例,默认情况下作为一种服务来运行。在这种情况下,安装程序将显示额外的对话框来控制各种数据库属性。注意,您不一定在这个阶段必须创建一个实例。例如,如果您已经有MariaDB数据库或MySQL作为服务运行,您可以在安装过程仅升级。同样,您也可以在安装之后创建额外的数据库实例,用mysql_install_db.exe。 注意:默认情况下,如果您安装了一个数据库实例,数据目录将在安装路径下的“data”文件夹。更改数据目录位置 ,在功能树选择“Database instance”,并使用“浏览”按钮来点到另一个地方。 数据库认证/安全相关的属性 如果您选择的“Database instance”功能这个对话框显示。在这里,您可以为数据库root用户设置的密码和指定root是否从可以从远程机器访问数据库。“Create anonymous account”设置允许用户匿名(未验证)。它默认是关闭的,它并不推荐更改此设置。 数据库其他属性 实例作为服务定义数据库运行是否作为一个服务以及服务名称。建议在运行您的数据库实例作为一个服务,它极大地简化了数据库管理。默认服务名称是“MySQL”,为了兼容性原因(相同名称“mysqld.ext –install安装“将选择也一样)。 网络可用是否启用TCP / IP(推荐),以及哪些端口MariaDB应该听听。如果安全是一个问题,您可以在安装后改变“bind-address”参数绑定到只有本地地址。如果“启用网络功能”复选框deselected,数据库将使用命名管道进行交流沟通。 事务优化如果这个复选框被选中时,默认存储引擎设置为Innodb(或XtraDB)和sql_mode参数设置为”NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES”。您还可以定义Innodb / Xtradb缓冲池大小。默认的缓冲池大小是12.5%的RAM或根据您的需求,您可以给innodb更多(70 – 80%的RAM)。 32位版本的MariaDB限制最大缓冲池的大小,这是大约1 GB,由于虚拟地址空间对32位进程的限制。 准备安装 此时,所有的安装设置被收集。点击“安装”按钮。 用户帐户控制(UAC)弹出 如果启用了用户帐户控制(Vista或更高),您会看到这个对话框。单击“是”。 结束 现在安装完成。如果您有可升级的MariaDB / MySQL实例,作为服务运行,这个对话框将给出一个“您想升级现有的实例”复选框(如果被选中, 安装后它推出升级向导)。  如果您安装了一个数据库实例作为服务,该服务将已经运行 在开始菜单的新条目  MySQL客户端启动命令行:mysql.exe命令提示符-启动一个命令提示符。设置环境,这样的“bin”目录中安装包括到PATH环境变量,即您可以使用此命令提示发出MariaDB命令(mysqldadmin,mysql等等……)数据库目录-在资源管理器中展开的数据目录错误日志——在记事本打开该数据库错误日志。My.ini -在记事本打开数据库配置文件my.ini。升级向导——启动向导来升级现有的MariaDB / MySQL数据库实例到该MariaDB版本。图形卸载 在浏览器applet”程序和功能”(或在较早的Windows的 “添加/删除程序”),找到MariaDB的入口,选择卸载/变化和点击“删除”按钮下面的对话框中。 如果您安装了一个数据库实例,您需要决定您想要删除或保持数据库中的数据目录。   默认安装 MSI安装器也支持非图形化安装。在其最简单的形式的安装即所有的参数默认的安装: msiexec /i path-to-package.msi /qn 注意:安装是静态的,由于msiexe.exe的/ qn开关(没有用户界面),如果您省略开关,安装将有完整的用户界面。 属性 静态安装也支持安装属性(属性将和图形界面的复选框的”选”与”不选”相对应。例如检查/未经检查的一个复选框的状态在UI,用户密码,等等)。用属性命令行安装MSI包: msiexec /i path-to-package.msi [PROPERTY_1=VALUE_1 ... PROPERTY_N=VALUE_N] /qn MSI安装器包有属性的名称,只包含大写字母。按照惯例,布尔型属性,一个空值意味着“false”和一个非空是“true”。 MariaDB安装支持以下属性: 属性名 默认值 描述 INSTALLDIR %ProgramFiles%MariaDB <version> 安装路径 PORT 3306 服务器端口 ALLOWREMOTEACCESS   允许root用户远程访问 BUFFERPOOLSIZE RAM/8 Innodb的Bufferpool大小 CLEANUPDATA 1 移除数据目录(卸载) DATADIR INSTALLDIRdata 数据目录的位置 DEFAULTUSER   允许匿名用户 PASSWORD   root用户的密码 SERVICENAME   Windows服务的名称。如果这个值为空不创建服务。 SKIPNETWORKING   跳过网络 STDCONFIG   对应在图形界面“optimize for transactions”,默认引擎innodb,严格的sql模式 功能 对于安装装置特性是一个Windows安装程序术语。在图形界面的特性树的“自定义设置”对话框。特性可以选择和重选择。 静默安装支持用特殊的属性添加的功能:ADDLOCAL=Feature_1,..,Feature_N 和移除功能: REMOVE=Feature_1,…, Feature_N MariaDB安装程序的功能: 功能标示 是否默认安装 描述 DBInstance 是 安装数据库实例 Client 是 命令行客户端程序 MYSQLSERVER 是 安装服务器 DebugBinaries 是 安装mysqld-debug和客户端库的调试版本 SharedLibraries 是 安装客户端共享库 DEVEL 是 安装C / c++头文件和客户端库 Embedded 否 绑定服务器库 DEBUGSYMBOLS 否 安装调试符号 默认安装示例 这里的所有示例都需要以管理员身份运行(和高架命令在Vista或之后)     安装的默认特性、数据库实例作为服务、非默认datadir和端口。msiexec /i path-to-package.msi SERVICENAME=MySQL DATADIR=C:mariadb5.2data PORT=3307 /qn    安装服务、添加调试符号,不加开发组件(客户端库和头文件)msiexec /i path-to-package.msi SERVICENAME=MySQL ADDLOCAL=DEBUGSYMBOLS REMOVE=DEVEL /qn 静态卸载 静态卸载,用REMOVE=ALL property with msiexec: msiexec /i path-to-package.msi REMOVE=ALL /qn 在卸载过程中,为了保持数据目录存在,您必须通过添加一个的参数: msiexec /i path-to-package.msi REMOVE=ALL CLEANUPDATA=”" /qn 安装日志 在安装程序遇到bug,安装程序日志应该被用于诊断。在bug报告请附上日志。生成一个安装程序的日志, 在命令行开始安装程序中使用/ l开关,就像这样: msiexec.exe /i path-to-package.msi  /l path-to-logfile.txt 在一台机器上运行mariadb 32位和64 位发行版 在同一个Windows x64可能安装32位和64位包 除了测试 ,这一特性在开发场景中是有效的,用户想要运行一个64位的服务器和两个32位和64位客户端组件。在这种情况下完整的64位包可以安装,包括一个数据库实例加上来自32位包与开发有关的特性(头和库)。 安装MariaDB Windows ZIP包 在Windows上开始使用ZIP包非常简单——这个发行版包含预构建数据库文件,在解压缩后可以立即使用。 您可以从命令提示运行mysqld.exe如下: cd binmysqld –console 然而,在用户会话像这样覆盖了简单的测试场景下的命令行运行MariaDB。 对于MariaDB 5.2.6和更高版本,对于任何严肃的目的, 使用mysql_install_db.exe创建数据库实例——它更安全(在默认情况下禁用匿名用户, 在数据库创建期间允许设置root密码),更方便(可以创建Windows服务,支持用户指定的数据目录)。 对MariaDB老版本,您可以按照在MySQL文档关于ZIP分发版的说明——这描述了手动过程或登记服务,保护数据库。 获取MariaDB源代码 这个页面的说明将帮助您下载有完整的修订历史的MariaDB源代码存储库的分发版。如果您想要一个没有修订历史源代码的tar包,参照MariaDB download page. 用Bazaar 检查源代码 先决条件 为版本控制您需要Bazaar 指令 1.准备一个目录来保存您的MariaDB代码: mkdir $repo              # where $repo is some directory (ex: ~/repos) cd $repo bzr init-repo maria –format=2a           # this creates ~/repos/maria 2.得到一个干净的Maria repo本地副本: cd $maria-repo # (ex: ~/repos/maria) bzr branch lp:maria trunk 上述会给您最新的稳定MariaDB版本。如果您想要另一个版本使用lp:maria/5.2lp:maria/5.3…对于一个完整的列表,去Launchpad和从页面顶部选择“代码”菜单。 注意:最初的分支操作可以花很长时间取决于您的互联网连接的速度和launchpad的负载。对于这个初始的分支您需要下载600 + MB的数据。注意:Bzr写在Python和首次导出对非常缓慢的。即使在一个快速连接,1-2G字节的内存,也需要几个小时。3.如果您得到一个错误,如: bzr: ERROR: Unknown repository format: ‘Bazaar RepositoryFormatKnitPack6 (bzr 1.9)’ 您正在使用的bzr版本太老了。使用版本1.12或更高版本将会修复这个错误。 4.如果您有升级您bzr和无法从launchpad成功获取分支,尝试使用源代码树tarball代替 5.您可以看到当前的历史: cd $maria-repo/trunk bzr log | less 6.如果您对MariaDB源代码感兴趣。获得帮助参照: Contributing Code. 7.如果在这一点上您只是想编译,参照:Compiling MariaDB . 源代码树Tarball 来自Launchpad那些有问题的MariaDB分支,我们创建了一个MariaDB树的完整存储库的tarball。 先决条件 您需要Bazaar和存储库一起使用。 使用源代码树 1.从一个MariaDB镜像下载mariadb-shared-repo.tgz文件。   该文件是292 MB,因此下载可能需要很长时间才能完成取决于您的互联网连接。2.这个.tgz文件包含一个.bzr目录。.bzr目录的父目录(或变成)一个共享库包含MariaDB源代码。建议创建一个新目录,那么接下来的一步是为存储库创建一个目。将这个目录命名您喜欢的任何东西(“maria”, “mariadb”, “my”, “src”, etc…等等……)。一旦创建,cd到目录和解压文件。下面是一个示例使用同样的名字“mariadb”为新目录,该目录位于当前用户的home一个为” src “目录下 ,和mariadb-shared-repo.tgz文件位于命名Downloads的目录 (也在当前用户的home目录): mariadbdir=”mariadb” downloadsdir=”${HOME}/Downloads” sourcecodedir=”${HOME}/src” cd ${sourcecodedir} mkdir ${mariadbdir} cd ${mariadbdir} tar -zxvf ${downloadsdir}/mariadb-shared-repo.tgz 3.解压后,您将有一个bzr共享存储库,但不是一个工作树。而在共享库目录,使用bzr分支命令来分支您有兴趣的MariaDB tree。例如: bzr branch lp:maria/5.2bzr branch lp:maria4.多亏了存储库,上述命令将完成的非常快. 5.使用代码之前,确保您向下拉最新版本的源代码: cd mariadb-5.2           #or to wherever your MariaDB tree is bzr pull 6.现在您可以使用这个源代码树,好像已经从launchpad直接分支的. 评论 what am I doing wrong ?  petepdx 作为mysql用户所有事情都完成的 bzr branch lp:maria trunk 然后 ./BUILD//compile-pentium64-max make install ./bin/mysqld_safe –user=mysql 110707 15:13:09 mysqld_safe Logging to ‘/data1/mariadb/bts-info.rose.portland.local.err’. 110707 15:13:09 mysqld_safe Starting mysqld daemon with databases from /data1/mariadb 110707 15:13:09 mysqld_safe mysqld from pid file /data1/mariadb/bts-info.rose.portland.local.pid ended cat bts-info.rose.portland.local.err 110707 15:13:09 mysqld_safe Starting mysqld daemon with databases from /data1/mariadb 110707 15:13:09 [Note] PrimeBase XT (PBXT) Engine 1.0.11-7 Pre-GA loaded… 110707 15:13:09 [Note] Paul McCullagh, PrimeBase Technologies GmbH, http://www.primebase.org InnoDB: The InnoDB memory heap is disabled InnoDB: Mutexes and rw_locks use GCC atomic builtins InnoDB: Compressed tables use zlib 1.2.3 110707 15:13:09  InnoDB: Initializing buffer pool, size = 128.0M 110707 15:13:09  InnoDB: Completed initialization of buffer pool 110707 15:13:09  InnoDB: highest supported file format is Barracuda. 110707 15:13:09 Percona XtraDB (http://www.percona.com) 1.0.15-12.7 started; log sequence number 45356 110707 15:13:09 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it. 110707 15:13:09 [Note] Recovering after a crash using mysql-bin 110707 15:13:09 [Note] Starting crash recovery… 110707 15:13:09 [Note] Crash recovery finished. 110707 15:13:09 [ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist 110707 15:13:09 mysqld_safe mysqld from pid file /data1/mariadb/bts-info.rose.portland.local.pid ended Re: what am I doing wrong ?  dbart 安装运行后,MariaDB开始之前,您运行mysql_install_db脚本?一些错误的看起来有些东西丢失了。 查看更多细节参照:Generic Build Instructions 您可以参照: Running MariaDB from the Source Directory Re: Getting the MariaDB Source Code    petepdx shell变量$repo和$maria还没有设置 Re: Getting the MariaDB Source Code  dbart 他们只是占位符,不管您想要填写什么。. Re: Getting the MariaDB Source Code    petepdx cd mariadb-5.2 这个目录不存在 Re: Getting the MariaDB Source Code    11 months, 2 weeks ago dbart 这只是一个示例目录。关键是要cd到您的当地的MariaDB源代码目录并执行一个bzr更新工作之前的代码。我添加了一个注释来更好地表明这。 谢谢! 通用构建说明 这个页面的说明将帮助您从源代码编译MariaDB。为特定平台更多的完整的说明上可以链接到源代码编译页面找到。 首先,获取一份MariaDB源代码。 接下来,准备您的系统能够编译源文件。如果您使用Linux是运行以下命令(取决于您的Linux发行版),很容易做到这点: sudo apt-get build-dep mysql-server      # for Debian and Ubuntu-based distributions sudo yum-builddep mysql                # for Fedora sudo zypper si -d mysql-community-server  # for OpenSUSE 注意:在基于debian的发行,您可能会得到一个“您必须把一些’source’ URIs在您的sources.list”的错误。为了避免这种情况,确保/ etc / apt /sources.list包含源码存储库。 对于Debain紧缩: deb http://ftp.debian.org/debian squeeze main contribdeb http://security.debian.org squeeze/updates main contribdeb-src http://ftp.debian.org/debian squeeze main contribdeb-src  http://security.debian.org squeeze/updates main contrib. 在您的系统上,如何做到这一点,参考Linux发行版的文档。 编辑sources.list后,就做: sudo apt-get update ……然后使用上述build-dep命令。 注意:在openSUSE源包存储库可能不能用。以下命令将使它可用: sudo zypper mr -er repo-source 启用它后,您将能够运行zypper命令安装构建依赖项。 如果您不是以自己身份使用MariaDB,那么您应该创建一个mysql用户。下面的例子使用这个用户。 现在进入源目录并执行适当的构建脚本,符合您配置: cd $maria-source-dir                     # ex: ~/repos/maria/trunk BUILD/compile-pentium64-max          # Build for intel/amd 64 bit with all options BUILD/compile-pentium-max             # Build for 32 bit pentum with all options BUILD/compile-pentium64-debug-max     # Build for intel/amd 64 bit with debugging  BUILD/compile-pentium64-valgrind-max  # Build for testing with valgrind 来看看一个构建脚本所做的,您可以来运行它启用–print选项。 如果没有合适的脚本,您也可以直接执行配置: cd $maria-source-dir # ex: ~/repos/maria/trunk BUILD/autorun.sh ./configure –with-plugin-xtradb make sudo make install 如果您使用的是MariaDB 5.5或以上(它使用cmake),您有一些编译问题,您可以获得更多编译信息通过: make VERBOSE=1 首次启动MariaDB MariaDB首次启动之前要做的事: 确保mysql用户对目录有权限(如果用户不存在,您将需要创建它)运行mysql_install_db脚本生成所需的系统表这里有一个例子: # The following assumes that the ‘mysql’ user exists and that we installed MariaDB # in /usr/local/mysql chown -R mysql /usr/local/mysql/ scripts/mysql_install_db –user=mysql /usr/local/mysql/bin/mysqld_safe –user=mysql & 最大限度构建配置行 以下配置行就是我们使用的-max构建(包括所有的功能,我们认为是相关的)。这配置行用我们大多数二进制的构建: ./configure –prefix=/usr/local/mysql –enable-assembler  –with-extra-charsets=complex  –enable-thread-safe-client  –with-big-tables  –with-plugin-maria –with-aria-tmp-tables –without-plugin-innodb_plugin  –with-mysqld-ldflags=-static –with-client-ldflags=-static –with-readline  –with-ssl –with-plugins=max-no-ndb –with-embedded-server –with-libevent  –with-mysqld-ldflags=-all-static  –with-client-ldflags=-all-static  –with-zlib-dir=bundled –enable-local-infile 对于一个完整的选项列表,您能做的: configure –help 如果您想要测试已编译MariaDB,您可以做下面任何一个的: make test cd mysql-test ; mysql-test-run –force 注意:如果您正在测试或调试MariaDB,您可能想要从那里源代码运行它而不是用‘make install’安装的。如果是这样,参照:Running MariaDB from the Source Directory 增加版本号或标记一个版本 如果您想增加版本号或用一个特定的标签标记版本(表示mysqld –version),您可以通过编辑文件版本 安装后的任务 Installing system tables (mysql_install_db)Starting and Stopping MariaDB Automatically评论 Re: Generic Build Instructions   StylusEater 这里是一个快速脚本,我用来在各种Debian GNU / Linux系统(root用户运行)自动安装MariaDB 5.3.x: #!/bin/bash apt-get update apt-get install build-essentials cd /opt/ mkdir mariadb cd mariadb wget http://downloads.askmonty.org/f/mariadb-5.3.3-rc/kvm-tarbake-jaunty-x86/mariadb-5.3.3-rc.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb mv mariadb mariadb-5.3.3-rc.tar.gz tar -xzf mariadb-5.3.3-rc.tar.gz  ln -s mariadb-5.3.3-rc latest cd latest     mkdir /usr/local/mysql mkdir /var/run/mysqld groupadd mysql useradd -d /usr/local/mysql -s /bin/false -g mysql chown mysql:mysql /usr/local/mysql  chown mysql:root /var/run/mysqld apt-get install libncurses5-dev ./configure –disable-distribution –enable-assembler –with-gnu-ld –with-charset=utf8 –with-extra-charsets=none –without-uca –with-pthread –with-mysqld-user=mysql –with-fast-mutexes –with-atomic-ops=smp –with-big-tables –with-libevent=yes –with-mysqlmanager=no –without-man –with-plugins=max-no-ndb –prefix=/usr/local/mysql make make test make install chown -R mysql:mysql /usr/local/mysql /usr/local/mysql/bin/mysql_install_db –user=mysql /usr/local/mysql/bin/mysqld_safe –user=mysql & /usr/local/mysql/bin/mysql -u root Re: Generic Build Instructions  byte 别忘了,对于mysql用户必须有/var/run/ mysqld存在。否则您会看到如下: 120131 13:21:16 [ERROR] mysqld: Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 2) 120131 13:21:16 [ERROR] Can’t start server: can’t create PID file: No such file or directory 这种安装方法出现以下错误像: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 所以您只能通过指定主机(mysql -h127.0.0.1)连接 mysql 用额外的模块/选项编译MariaDB 用TCMalloc编译MariaDB 多线程使用TCMalloc是一个最优替换malloc库的。同时,它包括一个内置堆调试器和分析器特性 用TCMalloc 构建MariaDB 5.5,您需要使用以下命令:cmake -DCMAKE_EXE_LINKER_FLAGS=’-ltcmalloc’  -DWITH_SAFEMALLOC=OFF 许多其他的malloc替换库(以及堆调试器、分析器),MariaDB可以用类似的方式。 用Vanilla XtraDB编译MariaDB 有时,需要用Vanilla XtraDB编译MariaDB。这一页描述了这个流程。这个过程是相当粗糙,由于我的目标只是一个once-off编译测试(也就是说,并不是包装和运输) 这个过程是适用于MariaDB 5.3.4和来自Percona Server 5.1.61的XtraDB。 wget http://s.petrunia.net/scratch/make-vanilla-xtradb-work-with-mariadb.diff bzr branch /path/to/mariadb-5.3 5.3-vanilla-xtradb-r3 cd 5.3-vanilla-xtradb-r3/storage/ tar czf innodb_plugin.tgz innodb_plugin/ rm -rf innodb_plugin tar czf xtradb.tgz xtradb/ rm -rf xtradb cd ../../ tar zxvf ~/Percona-Server-5.1.61.tar.gz cp -r Percona-Server-5.1.61/storage/innodb_plugin 5.3-vanilla-xtradb-r3/storage/ patch -p1 -d 5.3-vanilla-xtradb-r3/storage/innodb_plugin/ < make-vanilla-xtradb-work-with-mariadb.diff cd 5.3-vanilla-xtradb-r3/ BUILD/autorun.sh ./configure –with-plugin-innodb_plugin make Linux构建环境配置 下面列出在linux和Mac OS X 构建MariaDB 所需的工具。如果没有全部,这些作为包存在您的发行版的包存储库,所以首先核对它们是否安装。参照在Ubuntu, CentOS, Gentoo这些平台构建MariaDB特定需要工具包。 bzr > 2.0我们用新知识库格式gunzipGNU targcc 2.95.2 or laterg++GNU make 3.75 or laterlibtool 1.5.24 or laterbison (2.0 for MariaDB 5.5)libncurseszlib-devGNU automakeGNU autoconfMariaDB 5.5也需要: cmake在Linux上您可以用您的软件包管理器得到这些工具。在Mac OS X您需要Xcode和用Fink或者MacPorts安装剩下的项目。 Shell 变量 精简后面的步骤,我们开始通过设置几个shell变量。设置BZR和WORK_DIR变量的值以适合您的Linux发行版。其余的变量在这一环节中应该不需要改变。 二进制 BZR=”/usr/bin/bzr” 目录: WORK_DIR=”${HOME}/work/monty_program” MARIA_DIR=${WORK_DIR}/mariadb MARIA_REPO=”lp:maria” MARIA_MASTER=”${MARIA_DIR}/maria-local-master” MARIA_WORK=”${MARIA_DIR}/maria” PACKAGING_DIR=${WORK_DIR}/packaging PACKAGING_REPO=”lp:~maria-captains/ourdelta/ourdelta-montyprogram-fixes” PACKAGING_MASTER=”${PACKAGING_DIR}/ourdelta-montyprogram-fixes-local-master” PACKAGING_WORK=”${PACKAGING_DIR}/ourdelta-montyprogram-fixes” 源代码检出 初始化您bzr的工作目录,如果没有做的话: $BZR init-repo $MARIA_DIR $BZR init-repo $PACKAGING_DIR 检出MariaDB源码: $BZR branch $MARIA_REPO $MARIA_MASTER $BZR branch $MARIA_MASTER $MARIA_WORK 检出源码包(仅为MariaDB5.3和更低版本) 评论 Re: Build Environment Setup for Linux byte 对于MariaDB 5.5,您还需要libaio-dev(因为MySQL 5.5也是需要这个)。有人不同意我可以验证这,然后更新文档。谢谢 Re: Build Environment Setup for Linux  dbart 我只尝试在没有安装libaio-dev一台机器上安装MariaDB 5.5,成功了。所以据我所知,这不是必需的。 安装MariaDB5.5过程与以前的版本是非常不同的,所以文档无论如何还需要更新 ,或至少5.5安装页面添加说明。 Re: Build Environment Setup for Linux byte 当进行源代码签出,基本获得头文件。如何选择特定版本/标签? Re: Build Environment Setup for Linux dbart 这样的事情应该做: bzr branch -rtag:${tagname} ${sourcedir} ${destname} 例如:: 我使我的MariaDB 5.2树在文件夹中称为“5.2”。一个MariaDB 5.2.9分支树我都会做: bzr branch -rtag:mariadb-5.2.9 5.2 mariadb-5.2.9 完成的分支过程后,我将有一个“mariadb-5.2.9”文件夹。 生成MariaDB源码tar.gz包 如何创建一个源代码tar.gz文件。 首先配置您的构建环境。 然后使用automake/configure/make生成的tar文件: BUILD/autorun.sh ./configure –with-plugin-xtradb make dist 这将创建一个源文件的名称类似mysql-5.3.2-MariaDB-beta.tar.gz 另外参照 通用构建指令。 构建MariaDB二进制tar.gz包 如何生成二进制tar.gz文件。 设置您的构建环境.用您喜欢选项/插件构建二进制.MariaDB 5.3和更低版本 使用make_binary_distribution来生成一个二进制tar文件          cd mariadb-source           ./scripts/make_binary_distribution 这将在您的当前目录创建一个源文件名称类似mariadb-5.3.2-MariaDB-beta-linux-x86_64.tar.gz中。 另一种选择是使用生成包的脚本。在这种情况下您开始不需要编译MariaDB源代码。 cd $PACKAGING_WORK bakery/preheat.sh cd bakery_{number} bakery/tarbake51.sh last:1 $MARIA_WORK bakery/autobake51-bintar.sh mariadb-{version_num}-maria-beta-ourdelta{number}.tar.gz MariaDB 5.5和更高版本 如果二进制文件已建成的,您可以生成一个二进制tar包用:make package 评论 Re: Creating the MariaDB Binary Tarball  hakan tarbake51.sh表明构建MariaDB 5.1。总而言之怎么构建5.2,5.3,和5.x? 为Mac设置构建环境 XCode 安装来自苹果公司的Xcode (免费需要注册): http://developer.apple.com/tools/xcode/ 或者从您的Mac OS X安装硬盘 (macports需要XCode >= 3.1版本,如果您没有那个版本或更高的,您需要下载最新的版本,大小为900 + MB)MacPorts 下载 和从http://www.macports.org 安装镜像文件安装之后, 从终端升级它:sudo port – v selfupdate安装bzr 首先用aqua接口安装gtk (如果您喜欢X11变体,只需从以下行删除“”+quartz”和“+ no_x11”):  sudo port install pango +quartz +no_x11 sudo port install cairo +quartz +no_x11 sudo port install gtk2 +quartz 下一步安装bzr及其工具: sudo port install bzr sudo port install bzrtools sudo port install bzr-gtk 或者从http://wiki.bazaar.canonical.com/Download下载.dmg(镜像文件)和安装它 安装Mysql / MariaDB所需构建工具 bison sudo port install bisonautoconf (这可能已经安装了sudo port install autoconflibtool (这可能已经安装了) sudo port install libtool您的Mac现在应该拥有获取,编译,和与MariaDB源代码工作所需一切。下一步是真正获取一份代码。获取帮助参照获取MariaDB源代码页。 评论 Re: Build Environment Setup for Mac  hakan 最新的XCode > = 3.2编译MariaDB变得容易。只需安装XCode > = 3.2和bzr > = 2.0和您拥有您想要的一切。 您可以从http://wiki.bazaar.canonical.com/Download获取bzr 简要情况: bzr init-repository /Users/hakan/work/monty_program cd /Users/hakan/work/monty_program bzr branch lp:maria maria-local-master bzr branch maria-local-master maria cd maria BUILD/compile-amd64-debug-max-no-ndb cd mysql-test ./mysql-test-run.pl 如果您想加快编译时间。您从fink或MacPorts使用ccache 在CentOS构建MariaDB CentOS建构条件 MariaDB 源代码Bzr . MariaDB使用它,CentOS的. bzr版本太老了。您必须从源代码安装Bazaar。下面的rpm包: gperfrpm-develrpm-buildrpmdevtoolslibdbi  构建MariaDB 5.3和更低版本   构建MariaDB低于5.5版本的,您需要额外条件:  打包脚本 对于一个完全自动化的构建—sudo没有密码。在生产系统上这是不推荐!您已经被警告过了!visudo未注释的行 %wheel  ALL=(ALL) NOPASSWD: ALLusermod -a -G wheel {your_system_username}.rmp构建步骤    首先设置您构建的环境    然后生成包 cd $PACKAGING_WORK bakery/preheat.sh cd bakery_{number} bakery/tarbake51.sh last:1 $MARIA_WORK bakery/autobake51-centos.sh mariadb-{version_num}-maria-beta-ourdelta{number}.tar.gz 升级您的存储库 在随后的包装的建立,您只是更新您的存储库和运行打包脚本: rm -rf $MARIA_WORK rm -rf $PACKAGING_WORK cd $MARIA_MASTER $BZR pull $BZR branch $MARIA_MASTER $MARIA_WORK cd $PACKAGING_MASTER $BZR pull $BZR branch $PACKAGING_MASTER $PACKAGING_WORK 现在您可以再次创建包。 构建MariaDB 5.5及更高版本 构建MariaDB5.5版本,您需要安装cmake。如果您想建立.rpm软件包,您至少需要cmake 2.8.7。否则cmake 2.6也可以。 请注意,您不需要任何打装脚本和构建过程不需要root权限。 .rpm 构建步骤 首先配置您的构建环境。忽略打包脚本部分。 如果您想构建.rpm 包: cmake -DRPM=centos . make package 您可能希望指定”centos5”或“centos6”代替“centos“。这影响到生成的rpm软件包名称。您还可以指定任何其他cmake参数配置您想要的任何方式二进制文件。例如, 在CentOS 5构建我们的版本我们使用 cmake .  -DBUILD_CONFIG=mysql_release -DRPM=centos5 make package 评论 Re: Building MariaDB on CentOS openiduser7 我们在哪能找到新的MariaDB 5.5.spec文件啊? Re: Building MariaDB on CentOS  sergii 看上面。没有.spec文件。在需要的时候cmake自动生成它。 如果您想要一个.spec文件—获得MariaDB 5.5源码树,和上面一样运行cmake和make ,然后您会在树中发现spec文件。 Re: Building MariaDB on CentOS byte 我明白,谢谢您的解释  Re: Building MariaDB on CentOS byte 在做: bakery/tarbake51.sh last:1 $MARIA_WORK 后,在目录可以获得一个tar 包 运行: bakery/autobake51-centos.sh mariadb-[TAB] (因为它的名称可能类似mariadb-5.3.2-beta.tar.g) 获取一个错误信息: cp: cannot stat `/srv/shared/rpmsign/home-dot-rpmmacros’: No such file or directory 这是由于签署相关foo Also note this later: [colin@rhel6-amd64 bakery-102]$ bakery/autobake51-centos.sh mariadb-5.3.2-beta.tar.gz cp: cannot create regular file `/usr/src/redhat/SOURCES/mariadb-5.3.2-beta.tar.gz’: Permission denied cp: cannot create regular file `/usr/src/redhat/SOURCES/MySQL-OurDelta-shared-5.0.87.d10-65.el6.x86_64.rpm’: Permission denied 权限错误. 您不应该用root 来构建… 在Gentoo上构建MariaDB MariaDB存在在Gentoo,所以构建步骤是: 同步您的树::emerge –sync构建MariaDB:emerge mariadb在Ubuntu构建MariaDB Ubuntu 构建必要工具 打包脚本MariaDB源代码下面的Ubuntu包:build-essential dpkg-dev devscripts hardening-wrapper autoconf automake1.9 autotools-dev binutils bison chrpath debhelper defoma doxygen dpatch dvipdfmx fakeroot fontconfig-config g++ g++-4.3 gawk gcc gcc-4.3 gettext ghostscript ghostscript-x gs gsfonts html2text intltool-debian libc6-dev libcroco3 libcups2 libcupsimage2 libfontconfig1 libfontenc1 libfreetype6 libgomp1 libgs8 libice6 libjpeg62 libkpathsea4 libltdl7 libltdl7-dev libmail-sendmail-perl libncurses5-dev libpaper-utils libpaper1 libpng12-0 libpoppler4 libreadline5-dev libsm6 libstdc++6-4.3-dev libsys-hostname-long-perl libtiff4 libtool libwrap0-dev libxaw7 libxfont1 libxmu6 libxpm4 libxt6 linux-libc-dev lmodern m4 make patchutils po-debconf psfontmgr tex-common texlive-base texlive-base-bin texlive-base-bin-doc texlive-common texlive-doc-base texlive-latex-base texlive-latex-base-doc ttf-dejavu ttf-dejavu-core ttf-dejavu-extra xfonts-encodings xfonts-utils zlib1g-dev安装上述包简单的方法:  apt-get build-dep mysql-server-5.1 apt-get install build-essential dpkg-dev devscripts hardening-wrapper  Ubuntu .deb 构建步骤 首先配置您的构建环境 Debian软件包打包 cd $PACKAGING_WORK bakery/preheat.sh cd bakery_{number} bakery/tarbake51.sh last:1 $MARIA_WORK bakery/autobake51-deb.sh mariadb-{version_num}-maria-beta-ourdelta{number}.tar.gz 在随后的打包的构建,您只是更新您的存储库和再运行上面打包脚本。  升级存储库: rm -rf $MARIA_WORK rm -rf $PACKAGING_WORK cd $MARIA_MASTER $BZR pull $BZR branch $MARIA_MASTER $MARIA_WORK cd $PACKAGING_MASTER $BZR pull $BZR branch $PACKAGING_MASTER $PACKAGING_WORK 现在您可以再次运行在Package the Debian packages下步骤 Monty 程序最新的补丁 SergeyP对构建做了一些补丁,它还没有在ourdelta的市场(which are not yet in ourdelta’s repo)。它们被推进:lp:maria-captains/ourdelta/ourdelta-mariadb51-2-montyprogram-fixes 在这时候,从(repo produces debs)的构建,将会成功安装。欢迎推进深一步的补丁进入源码树。 加快构建 为了加快构建,您需要在<code>bakery/autobake-deb.sh</code>生成和提交下列的改变: -export DEB_BUILD_OPTIONS=”fulltest” +export DEB_BUILD_OPTIONS=”nocheck” 在构建后 在构建这些包后,把它们放在一个存储库。参照Creating a Debian Repository页的说明。 Window构建MariaDB Windows 上构建MariaDB 5.2和更高版本的过程和MySQL5.5是兼容的,所以您可以使用MySQLCMake Wiki的说明。同时,为Visual Studio Express用户的详细分步说明可以在这里找到。这里的说明不呈现上述两个源代码的知识。 构建必要条件 构建MariaDB需要以下: Visual C++:我们目前支持Visual Studio 2008和2010版,包括(免费) 快捷版(通常我们试图支持最近的两个版本). 安装最新的服务包,对VS2008和VS2010 ,SP1是(截至撰写本文时)最新的。 Bazaar: 从源码树构建需要该软件. 使用独立的安装程序并选择默认的安装选项。 CMake 2.8: 构建系统 Bison from GnuWin32: Bison c创建SQL解析器的一部分. 当下载选择”Complete package except sources” 。注意: 不要安装这个在您的默认路径与空间(例如在C:Program FilesGnuWin32),构建将打破由于这bison bug。安装到C: GnuWin32代替 在安装过后,添加 C:GnuWin32bin to 到您系统PATH. Strawberry perl: 用于运行测试套件. ActiveState Perl 是另一个Win32 Perl发行版和应该很好工作(但是它没有经过良好测试的)。可选: 如果您打算构建MSI包,安装Windows安装程序XML 3.0或更高版本 可选: Gnu Diff, 推荐给MariaDB开发者,它提高了错误输出测试实用工具mysql-test-run.pl验证bzison.exe,bzr.exe ,cmake.exe和perl.exe在PATH环境变量是否可以找到, 从命令行提示符用“where bison”、“ where bzr”,等等……。 构建 Windows二进制 上述说明是对MariaDB 5.2或更高版本。如何构建5.1版本的说明,看看”旧式构建”一节中的介绍。 分支MariaDB bzr的存储库,或解压源代码归档。在命令提示符下,切换到您的源目录,然后执行: mkdir bld cd bld cmake .. cmake –build . –config Relwithdebinfo 上面的示例在子目录中命名bld为32位系统的构建一个发布配置。“cmake……“是配置步骤”, “cmake –build . –config Relwithdebinfo”是构建步骤。 构建变更 调试构建 构建调试版本:cmake  –build . –config Debug X64构建 默认情况下,cmake将创建32位的项目。对于64位, 在配置步骤您必须通过CMake“生成器”参数使用- G,例如: 对于VS2010: cmake .. –G “Visual Studio 10 Win64” 对于 VS2008:cmake .. –G “Visual Studio 9 Win64” 对于全部可用的生成器,调用“cmake“没有任何参数 IDE 构建 取代调用”cmake  –build”如上,打开MySQL.sln。当Visual Studio开启,选择构建/编译。 Nmake 构建 确保Visual Studio环境变量设置正确,例如从“Visual Studio 2010命令提示符” 构建(开始= >所有程序= >微软Visual Studio 2010 = > Visual Studio工具= > Visual Studio Commad提示(2010))。它可以很方便地从“Visual Studio命令提示符(2010)在桌面创建一个快捷方式(导航在开始菜单中找到它,然后右击 =  >发送到桌面(创建快捷方式)“在命令行上,执行: mkdir bld cd bld cmake .. -G “NMake Makefiles” nmake 您可以选择通过cmake 的参数 -DCMAKE_BUILD_TYPE = { Debug | RelWithDebInfo }要么调试或构建发行版本。 devenv构建 确保Visual Studio环境变量为构建是正确设置 (见上)执行: devenv  mysql.sln /build relwithdebinfo 或者,为调试构建 Devenv  mysql.sln /build debug 可选的构建参数 MySQL CMake Wiki描述了在构建过程如何使用可选参数。也许单重要参数在MariaDB是WITH_EMBEDDED_SERVER(构建嵌入式服务器)。在构建这不是默认设置,因为它成倍地增加编译时间。使用cmake -DWITH_EMBEDDED_SERVER = 1使嵌入的构建。 构建ZIP包 cmake  –build . – config relwithdebinfo –target  package 构建MSI包 cmake  –build . – config relwithdebinfo –target  msi 一些版本的CMake 2.8(2.8.3用VS2010构建MSI的命令)稍微不同: cmake  –build . – config relwithdebinfo –target  win/packaging/msi 在MSI的安装程序包含HeidiSQL MariaDB 5.2.7开始,就可能建立一个安装程序,它包括第三方产品,在MWL # 200描述了。目前只HeidiSQL支持被使用,它包括在官方的构件。使用CMake参数-DWITH_THIRD_PARTY = HeidiSQL将其包含在安装程序。 MariaDB发布处理支持代码签名 支持authenticode MariaDB构建可选支持用可选参数SIGNCODE代码签名进行代码验证。在配置步骤期间使用cmake -DSIGNCODE = 1在ZIP和MSI包签署的二进制文件。 重要:SIGNCODE = 1工作, 用户运行构建需要安装一个有效的数字证书的认证码到他的证书存储,否则打包步骤就会失败。 MariaDB发行版本构建软件包 用Visual Studio 2010构建二进制发行版的完整的脚本: mkdir bld cd bld cmake .. -DWITH_EMBEDDED_SERVER=1 -DSIGNCODE=1 -DWITH_THIRD_PARTY=HeidiSQL cmake –build . –config relwithdebinfo –target package cmake –build . –config relwithdebinfo  –target msi 这个命令序列将在bld目录产生一个ZIP包(例如mariadb-5.2.6-win32.zip)和MSI包(例如mariadb-5.2.6-win32.msi) 旧格式的构建(MariaDB 5.1) MariaDB 5.1构建和高版本之间的不同是: 5.1除了源码外不被构建.5.1在配置区间需要一个额外步骤 (winconfigure-mariadb.bat).5.1需要一个源码发行版预先打包的 (只在Unix上)来创建ZIP包。它还需要软件创建ZIP。5.1没有出现新的MSI安装程序,而是使用NSIS。构建NSIS也需要源码发行版预先打包和不能由bzr存储库生成。这里是如何构建5.1:   winconfigure-mariadb.bat   cmake .   cmake . –build relwithdebinfo 5.1中的 ZIP打包 这是生成5.1二进制压缩包过程如下: 生成源代码压缩文件. 这只能在Unix上 (我们用linux)通过运行BUILD/compile-dist && make dist. 全部说明参照 Creating the MariaDB Source Tarball。在BuildBot ,是用hardy-amd64-makedist 生成器来做的(In BuildBot, this is done using the hardy-amd64-makedist builder)。 Windows上编译和打包. 是通过在Windows解压源代码压缩文件和运行sh win/make_mariadb_win_dist.在BuildBot ,是用win32-make-noinstall-zip生成器来做的.5.1中的 NSIS安装程序 如果您想创建的版本,您还需要NSIS。 构建服务器像往常一样。然后您应该构建版本,而不是调试或任何其他。当服务器已经建成,只需要在顶层目录中运行”cpack”创建.exe包。 其他 在5.2和更高版本, 任何构建步骤Cygwin是不需要和不受支持的。如果您可以,不要使用它。要编译OQGRAPH引擎, Boost需要安装。从http://www.boost.org/下载Boost redistribution和解压缩。设置环境变量BOOST_ROOT来指向在前面的解压目录。注意:OQGRAPH构建目前在x64上禁用,由于错误Bug #756966 FreeBSD构建MariaDB 也许有人正使用mariadb的端口刚好在FreeBSD端口树。(数据库/ mariadb – {客户端、服务器、脚本})(或可用预编译包)。参照http://www.freshports.org/databases/mariadb-server 另外,下面的链接中包含大量的信息,在FreeBSD如何“手动”构建MariaDB:http://www.rasyid.net/2010/11/07/how-to-install-mariadb-on-freebsd/ Mac OS X 用Homebrew 构建MariaDB 提供MariaDB工作已经完成通过自制(Homebrew)程序包管理器,它被说成Mac OS x包丢失的管理器为。一旦您已经安装了自制程序(Homebrew)(使用命令行brew),您所要做的就是: brew update 编译MariaDB 您可以运行搜索(brew search mariadb),如果您想要得到关于它更多的信息,您能做的: brew info maria。当您准备安装MariaDB,只需执行: brew install mariadb 由于MariaDB 5.2.6,它会引入输入字符串,输出将类似如下: lovegood:~ byte$ brew install mariadb Warning: It appears you have Macports or Fink installed Software installed with other package managers causes known problems for Homebrew. If formula fail to build uninstall Macports/Fink and reinstall any affected formula. Also installing dependencies: readline ==> Downloading ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz ######################################################################## 100.0% ==> Downloading patches ######################################################################## 100.0% ==> Patching patching file vi_mode.c patching file callback.c ==> ./configure –prefix=/usr/local/Cellar/readline/6.2.1 –mandir=/usr/local/Ce ==> make install ==> Caveats This formula is keg-only, so it was not symlinked into /usr/local. OS X provides the BSD libedit library, which shadows libreadline. In order to prevent conflicts when programs look for libreadline we are defaulting this GNU Readline installation to keg-only. Generally there are no consequences of this for you. If you build your own software and it requires this formula, you’ll need to add its lib & include paths to your build variables:   LDFLAGS: -L/usr/local/Cellar/readline/6.2.1/lib   CPPFLAGS: -I/usr/local/Cellar/readline/6.2.1/include ==> Summary /usr/local/Cellar/readline/6.2.1: 32 files, 2.1M, built in 31 seconds ==> Downloading http://ftp.osuosl.org/pub/mariadb/mariadb-5.2.6/kvm-tarbake-jaun ######################################################################## 100.0% ==> ./configure –without-docs –without-debug –disable-dependency-tracking –p ==> make install ==> Caveats Set up databases with:     unset TMPDIR     mysql_install_db If this is your first install, automatically load on login with:     cp /usr/local/Cellar/mariadb/5.2.6/com.mysql.mysqld.plist ~/Library/LaunchAgents     launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist If this is an upgrade and you already have the com.mysql.mysqld.plist loaded:     launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist     cp /usr/local/Cellar/mariadb/5.2.6/com.mysql.mysqld.plist ~/Library/LaunchAgents     launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist Note on upgrading:     We overwrite any existing com.mysql.mysqld.plist in ~/Library/LaunchAgents     if we are upgrading because previous versions of this brew created the     plist with a version specific program argument. Or start manually with:     mysql.server start Warning: m4 macros were installed to “share/aclocal”. Homebrew does not append “/usr/local/share/aclocal” to “/usr/share/aclocal/dirlist”. If an autoconf script you use requires these m4 macros, you’ll need to add this path manually. ==> Summary /usr/local/Cellar/mariadb/5.2.6: 231 files, 44M, built in 10.9 minutes lovegood:~ byte$ 安装MariaDB 一旦完成,您需要做以下几点: unset TMPDIR mysql_install_db 当您运行mysql_install_db,您将看到以下输出: lovegood:~ byte$ mysql_install_db Installing MariaDB/MySQL system tables in ‘/usr/local/var/mysql’ … OK Filling help tables… OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! To do so, start the server, then issue the following commands: /usr/local/Cellar/mariadb/5.2.6/bin/mysqladmin -u root password ‘new-password’ /usr/local/Cellar/mariadb/5.2.6/bin/mysqladmin -u root -h lovegood.local password ‘new-password’ Alternatively you can run: /usr/local/Cellar/mariadb/5.2.6/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default.  This is strongly recommended for production servers. See the MariaDB knowledge or the MySQL manual for more instructions. You can start the MariaDB daemon with: cd /usr/local/Cellar/mariadb/5.2.6 ; /usr/local/Cellar/mariadb/5.2.6/bin/mysqld_safe –datadir=/usr/local/var/mysql You can test the MariaDB daemon with mysql-test-run.pl cd /usr/local/Cellar/mariadb/5.2.6/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/local/Cellar/mariadb/5.2.6/bin/mysqlbug script! The latest information about MariaDB is available at http://www.askmonty.org/. You can find additional information about the MySQL part at: http://dev.mysql.comSupport MariaDB development by buying support/new features from Monty Program Ab. You can contact us about this at sales@askmonty.org. Alternatively consider joining our community based development effort: http://askmonty.org/wiki/index.php/MariaDB#How_can_I_participate_in_the_development_of_MariaDB lovegood:~ byte$ 启动MariaDB 一旦完成,如果您正运行产生实例,请记住运行mysql_secure_installation。如果您只是测试它,按照下面的说明开始: lovegood:~ byte$ cd /usr/local/Cellar/mariadb/5.2.6 ; /usr/local/Cellar/mariadb/5.2.6/bin/mysqld_safe –datadir=/usr/local/var/mysql 110614 20:27:38 mysqld_safe Logging to ‘/usr/local/var/mysql/lovegood.local.err’. chown: /usr/local/var/mysql/lovegood.local.err: Operation not permitted 110614 20:27:38 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql 完成了!现在您可以运行mysql -uroot和登录。 使用MariaDB lovegood:~ byte$ mysql -uroot Welcome to the MariaDB monitor.  Commands end with ; or g. Your MariaDB connection id is 4 Server version: 5.2.6-MariaDB Source distribution This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement. MariaDB [(none)]> SELECT VERSION(); +—————+ | VERSION()     | +—————+ | 5.2.6-MariaDB | +—————+ 1 row in set (0.00 sec) MariaDB [(none)]> 升级MariaDB 首先您需要更新您的brew的安装程序。这可以通过运行brew更新命令。接下来您只需要运行: brew upgrade mariadb 诸知的问题 目前,默认编译有一些引擎安装。通过这就知道: MariaDB [(none)]> SHOW ENGINES; +————+———+————————————————————————————————–+————–+——+————+ | Engine     | Support | Comment                                                                                          | Transactions | XA   | Savepoints | +————+———+————————————————————————————————–+————–+——+————+ | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance                                           | NO           | NO   | NO         | | InnoDB     | YES     | XtraDB engine based on InnoDB plugin. Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        | | CSV        | YES     | CSV storage engine                                                                               | NO           | NO   | NO         | | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables                                        | NO           | NO   | NO         | | MRG_MYISAM | YES     | Collection of identical MyISAM tables                                                            | NO           | NO   | NO         | +————+———+————————————————————————————————–+————–+——+————+ 5 rows in set (0.00 sec) MariaDB [(none)]> 在下载页面为什么没有Mac的二进制文件? MariaDB是一个开源项目,能够为我们提供任意平台的二进制文件: 提供一个Mac OSX buildbot slave  ,我们可以构建二进制文件帮助我们创建恰当的Mac OSX包。 赞助商(Sponsor us)为构建提供一台Mac OSX机器其它资源 mariadb.rb on github Terin Stock (terinjokes) 是自制程序(Homebrew)构建包者编译来自Oracle的InnoDB插件 通常MariaDB附带XtraDB, 来自Oracle一个InnoDB插件增强版。 如果您想使用甲骨文的InnoDB插件,那么您需要编译MariaDB,并在配置时不使用–without-plugin-innodb_plugin该选项。例如,一个简单的没有任何选项./configure会使用它。 当InnoDB插件被编译, 除xtradb之外,innodb_plugin测试套件测试InnoDB插件: ./mysql-test-run –suite=innodb_plugin 使用innodb_plugin代替xtradb您能做 (MariaDB 5.5): mysqld –ignore-builtin-innodb –plugin-load=innodb=ha_innodb.so –plugin_dir=/usr/local/mysql/lib/mysql/plugin MariaDB5.3或更低版本,库名称是ha_innodb_plugin.so 另请参阅 http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html 创建Debian知识库 下面是创建自己的Debian知识库的指令。该指令基于http://www.debian.org/doc/manuals/repository-howto/repository-howto.en.html REPO_DIR={pick some location} mkdir $REPO_DIR mkdir $REPO_DIR/binary mkdir $REPO_DIR/source cp $PACKAGING_WORK/bakery-{number}/build-temp-{number}/* $REPO_DIR/binary cd $REPO_DIR dpkg-scanpackages binary  /dev/null | gzip -9c > binary/Packages.gz dpkg-scansources  source  /dev/null | gzip -9c > source/Sources.gz 使用刚才创建的Debian知识库 有人需要添加一个新文件到/ etc /apt / sources.list.d / 目录。举例来说,一个mariadb.list新文件: # MariaDB repository for Ubuntu 9.04 “Jaunty Jackalope”. # deb file:///home/psergey/testrepo binary/ deb-src file:///home/psergey/testrepo source/ 之后,可以运行 apt-get update  # Let apt learn about the new repository apt-get install mariadb-server 和收集bugs:-)。 “apt – get install“将大量脚本结果和服务输出到/ var / log。还可以设置DEBIAN_SCRIPT_DEBUG = 1来得到一些(不是全部)标准输出。 安装失败后的卸载 运行:dpkg –get-selections | grep mariadb dpkg –get-selections | grep mysql 看安装什么,可以运行:dpkg –purge 直到前面产生空的输出。注意:在一些失败,/etc / mysql和/ var / lib / mysql不被删除,但仍然需要手动删除。 MariaDB与MySQL共存 您好, 我目前使用MySQL和想测试MariaDB。 我只有一个服务器,并且不希望覆盖当前的MySQL实例。 MySQL和MariaDB有可能在同一环境共处? 我如何定义mysql客户端连接db?通过端口? 多谢! 是的,它是。就像两个MySQL实例可以共存。MariaDB是兼容替代。 通过端口或由不同的套接字路径,和安装MariaDB到一个非标准目录。 这文章在dev.mysql.com详细介绍如何在单个服务器上运行多个MySQL实例。在同一台服务器上运行MySQL和MariaDB该指令也有效。 老的Linux上编译MariaDB 我仍然必须使用MandrakeLinux 10.0 ,在其资料库获得MySQL v.4.0.22。在老的Linux发行版上像MandrakeLinux 10.0(像‘rpmbuild – bb mysql.spec”)有可能构建新MariaDB二进制rpm包(二进制在/usr/bin,数据在/var/lib mysql等)吗? Answer Answered by byte. 它应该是可能的。这全部依赖于您正使用gcc/glibc版本。我们显然不要在旧平台构建MariaDB,而我们目前甚至没有在Mandrake Linux构建,但是您从规范文件应该能够构建。 然而如果有bug发现,您可能会想在发布台(Launchpad)公布它们,甚至freenode irc漫谈#maria。这bug可能不是非常高的优先级修复。然而,如果有一个商业需要这样做, Monty Program十分乐意去做一些非经常性 (端)工作来获得费用。 包含MariaDB的发行版本 下面发行版本的包资料库包含MariaDB。对于这些可以使用发行版的管理系统安装MariaDB。 Linux 发行版本 Mageia 2 —最新MariaDB5.5版本代替MySQLGentoo openSUSE — MariaDB 5.3 and 5.5在资源库是可用的Slackware ArchLinux (AUR MariaDB)ALTLinux   BSD 发行版本 FreeBSD —MariaDB 5.3可以使用在端口树和FreeBSD手册在Installing Applications: Packages and Ports有相关命令MariaDB on FreshPortsMac OS X发行版本 Homebrew.对自制程序(Homebrew)在这有一个很好博客,如果您安装自制程序(Homebrew),您可以这样安装MariaDB: brew install mariadb。在Mac OS X使用自制程序构建MariaDB有更多信息。 MacPorts. 这提供 mariadb 和 mariadb-server.如何安装参照 快速向导 运行MariaDB多个副本 有多个MariaDB实例运行在同一台电脑上, 主要的问题您会得到端口和套接字 之间的冲突。 这个问题的解决方案,是在您配置/ .my.cnf文件添加类似这样的: [client] # TCP port to use to connect to mysqld server port=3306 # Socket to use to connect to mysqld server socket=/tmp/mysql.sock [mariadb] # TCP port to make available for clients port=3306 #  Socket to make available for clients socket=/tmp/mysql.sock # Where MariaDB should store all it’s data data=/usr/local/mysql/data 上面的是默认值。对您的安装改变它们唯一价。 上述应该足以让mysqld来启动和客户喜欢mysql连接到它。其他选项的说明可以在这里找到。 检查mysqld正在使用什么参数值,您能做的: mysqld –print-defaults 列出默认值,检查最后的: mysqld –help –verbose 如果您的问题是, mysqld读取选项从系统文件my . cnf中 (比如/ etc / my . cnf中)您可以让它只读取一个特定的配置文件: mysqld –defaults-file=~/.my.cnf Oneiric 资源库的问题 在进入Oneiric版本(64位)资源库, 当更新存储库,我得到以下错误消息: 未能获取http://mirror2.hs-esslingen.de/mariadb/repo/5.3/ubuntu/dists/oneiric/main/source/Sources404未找到。未能获取http://mirror2.hs-esslingen.de/mariadb/repo/5.3/ubuntu/dists/oneiric/main/binary-amd64/Packages 404未找到 我试过几个不同的存储库出现相同的结果。 Answer 现在Ubuntu Oneiric还没有5.3程序包,他们计划在5.3下一个系列的。 第一个oneiric构建项目是为最近发布的MariaDB 5.2.9制成的。那时我们添加oneiric选项到sources.list generator来支持它,但当这一切都完成,它还允许为5.3生成一个列表条目, 然而这不是有效…。为了防止这种情况在未来发生,我们将对sources.list生成器添加检查,以便生成每个组合是有效的。 谢谢 安装MariaDB与MySQL MariaDB替代(a drop in place replacement for)MySQL,但您也可以安装它与MySQL共处。(这可能很有用,例如,如果您想一个接一个迁移数据库/应用程序。) 在现已安装MySQL坏境,执行以下步骤来安装MariaDB。 下载编译后的二进制文件,其中包含最新的版本(写这篇文章时mariadb-5.5.24-linux-x86_64.targz)和在您所选择的目录中提取文件。我将假设对于本文目录是/ opt。           [root@mariadb-near-mysql ~]# cat /etc/issue            CentOS release 6.2 (Final)            [root@mariadb-near-mysql ~]# rpm -qa mysql*            mysql-5.1.61-1.el6_2.1.x86_64                       mysql-libs-5.1.61-1.el6_2.1.x86_64            mysql-server-5.1.61-1.el6_2.1.x86_64            [root@mariadb-near-mysql ~]# ps axf | grep mysqld            2072 pts/0    S+     0:00          _ grep mysqld            1867 ?        S      0:01 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –socket=/var/lib/mysql/mysql.sock …            1974 ?        Sl     0:06  _ /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql … 创建数据目录和符号链接:           [root@mariadb-near-mysql opt]# mkdir mariadb-data            [root@mariadb-near-mysql opt]# ln -s mariadb-5.5.24-linux-x86_64 mariadb            [root@mariadb-near-mysql opt]# ls -al            total 20            drwxr-xr-x.  5 root root 4096 2012-06-06 07:27 .            dr-xr-xr-x. 23 root root 4096 2012-06-06 06:38 ..            lrwxrwxrwx.  1 root root   27 2012-06-06 07:27 mariadb -> mariadb-5.5.24-linux-x86_64            drwxr-xr-x. 13 root root 4096 2012-06-06 07:07 mariadb-5.5.24-linux-x86_64            drwxr-xr-x.  2 root root 4096 2012-06-06 07:26 mariadb-data 创建mariadb 用户组和mariadb 用户和设置正确所有权:           [root@mariadb-near-mysql opt]# groupadd –system mariadb            [root@mariadb-near-mysql opt]# useradd -c “MariaDB Server” -d /opt/mariadb -g mariadb –system mariadb            [root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-5.5.24-linux-x86_64/            [root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-data/ 在/opt/mariadb用支持文件来创建一个新的my.cnf:           [root@mariadb-near-mysql opt]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf            [root@mariadb-near-mysql opt]# chown mariadb:mariadb mariadb-data/my.cnf 编辑 /opt/mariadb-data/my.cnf 和添加客户路径,套接字文件,端口,和最重要的数据目录和基础目录。最后文件应至少有以下几点::           [client]            port        = 3307            socket      = /opt/mariadb-data/mariadb.sock            [mysqld]            datadir         = /opt/mariadb-data            basedir         = /opt/mariadb            port        = 3307            socket      = /opt/mariadb-data/mariadb.sock            user            = mariadb 从支持文件复制初始化脚本到正确的位置:           [root@mariadb-near-mysql opt]# cp mariadb/support-files/mysql.server /etc/init.d/mariadb            [root@mariadb-near-mysql opt]# chmod +x /etc/init.d/mariadb 编辑 /etc/init.d/mariadb ,用mariadb代替mysql 如下:           - # Provides: mysql            + # Provides: mariadb            - basedir=            + basedir=/opt/mariadb             - datadir=            + datadir=/opt/mariadb-data            - lock_file_path=”$lockdir/mysql”            + lock_file_path=”$lockdir/mariadb” 最棘手的部分将是在这个文件中最后一个更改。您需要告诉mariadb只用一个cnf文件。在启动mariadb节在bindir / mysqld_safe添加–defaults-file = / opt / mariadb-data / my . cnf。应该像:: # Give extra arguments to mysqld with the my.cnf file. This script # may be overwritten at next upgrade. $bindir/mysqld_safe –defaults-file=/opt/mariadb-data/my.cnf –datadir=”$datadir” –pid-file=”$mysqld_pid_file_path” $other_args >/dev/null 2>&1 & 运行 mysql_install_db 通过显式地给它my . cnf中文件作为参数:           [root@mariadb-near-mysql opt]# cd mariadb            [root@mariadb-near-mysql mariadb]# scripts/mysql_install_db –defaults-file=/opt/mariadb-data/my.cnf 现在您可以启动MariaDB 通过           [root@mariadb-near-mysql opt]# /etc/init.d/mariadb start            Starting MySQL…                                          [  OK  ] 在系统启动时也启动MariaDB 服务:           [root@mariadb-near-mysql opt]# cd /etc/init.d            [root@mariadb-near-mysql init.d]# chkconfig –add mariadb            [root@mariadb-near-mysql init.d]# chkconfig –levels 3 mariadb on 最后的测试您有两个实例运行:           [root@mariadb-near-mysql ~]# mysql -e “SELECT VERSION();”            +———–+            | VERSION() |            +———–+            | 5.1.61    |            +———–+            [root@mariadb-near-mysql ~]# mysql -e “SELECT VERSION();” –socket=/opt/mariadb-data/mariadb.sock            +—————-+            | VERSION()      |            +—————-+            | 5.5.24-MariaDB |            +—————-+ MariaDB 如何升级 通过获得mariadb.socker,,my . cnf文件和在/ opt / mariadb-data数据库,如果您想升级您的MariaDB版本只需要: 从归档提取新版本到当前版本目录/ opt附近中停止MariaDB改变mariadb符号连接指向新目录开启MariaDB运行升级脚本但记住您需要提供套接字选项–sockert= / opt / mariadb-data / mariadb.sock  
the end
免责声明:本文不代表本站的观点和立场,如有侵权请联系本站删除!本站仅提供信息存储空间服务。