在 CentOS 6.3 上安装 MariaDB

参考网站:准备MySQL构建所需的CMake
参考网站:尝试使用CMake构建MySQL

总体摘要

最近,有关Fedora 19将以MariaDB取代MySQL成为默认数据库的消息被报道出来。

我以前就知道MariaDB的存在,但从来没想到它会变得这么重要。
为了了解它是什么东西,首先要安装它。

部署安装方针

    MariaDB用のアカウント(mariadb:MariaDB)を作成する。
    インストール先は/opt/mariaDB配下とする。
    データベースの出力先も/opt/mariaDB/data 配下とする。
    pacoにてインストール時に配置したソフトを管理する。

准备

安装CMake

安装所需的是CMake。
请参考准备MySQL构建所必需的CMake并进行安装。

创建系统账户

groupadd -r MariaDB
useradd -r -g MariaDB -d /opt/mariaDB -s /sbin/nologin mariadb
mkdir /opt/mariaDB
chown mariadb:MariaDB /opt/mariaDB

安装

首先,从官方网站下载源代码。
然后执行以下命令。

tar xzf mariadb-5.5.29.tar.gz
cd mariadb-5.5.29
cmake .

在进行make和make install之前,定制输出目录等设置,而不是像configure那样通过传递参数,而是后续进行定制。

主要的定制点如下所示。

    インストールディレクトリの変更
    データベースのデータ格納先の変更
    かっちょ悪いので mysql を MariaDB に書き換えた

如果在这里出现错误,可能是因为您尚未安装某个软件包。
(例如ncurses-devel或libaio-devel等)。

vi CMakeCache.txt
...
//install prefix
//CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql
CMAKE_INSTALL_PREFIX:PATH=/opt/mariaDB
...
//Value Computed by CMake
//CMAKE_PROJECT_NAME:STATIC=MySQL
CMAKE_PROJECT_NAME:STATIC=MariaDB
...
//UNIX_ADDR installation directory
//INSTALL_UNIX_ADDRDIR:STRING=/tmp/mysql.sock
INSTALL_UNIX_ADDRDIR:STRING=/tmp/mariadb.sock
...
//INCLUDE installation directory
//INSTALL_INCLUDEDIR:STRING=include/mysql
INSTALL_INCLUDEDIR:STRING=include/mariadb
...
//MYSQLTEST installation directory
//INSTALL_MYSQLTESTDIR:STRING=mysql-test
INSTALL_MYSQLTESTDIR:STRING=mariadb-test
...
//default MySQL data directory
//MYSQL_DATADIR:PATH=/usr/local/mysql/data
MYSQL_DATADIR:PATH=/opt/mariaDB/data
...
//MySQL project name
//MYSQL_PROJECT_NAME:STRING=MySQL
MYSQL_PROJECT_NAME:STRING=MariaDB
...

编译

make VERBOSE=1 2>&1 | tee make_log.txt
...
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc: In member function ‘int MYSQL_BIN_LOG::write_cache(THD*, IO_CACHE*)’:
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5541: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5543: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5547: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5549: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5565: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5601: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5625: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5665: 警告: dereferencing type-punned pointer will break strict-aliasing rules
...

如果没有补足VERBOSE=1的情况下,make命令的显示会消失。

我看了这个编译日志后,“在编译时没有发出一行警告”被标榜出来,但是没有警告确实很难啊。
即便如此,出现的警告类型好像只有dereferencing type-punned,相当厉害啊。

安装

sudo paco -D make install

确认动作

$ /opt/mariaDB/bin/mysql --version
/opt/mariaDB/bin/mysql  Ver 15.1 Distrib 5.5.29-MariaDB, for Linux (i686) using readline 5.1

你是说命令是mysql吗?
这么说来,它完全兼容。只是如果一直使用这个命令,可能会让别人误以为我只会操作MySQL。
总之,安装应该算是完成了。

bannerAds