在 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。
总之,安装应该算是完成了。