centos7 编译安装mariadb

1. 下载MariaDB源代码,我们可以在mariadb官网下载,地址是:  https://downloads.mariadb.org/

在官网中看到现在的stable版本是10.2.7

centos7 编译安装mariadb

点击下载按钮跳转到下载页面,并在页面右边的选项中选择Source Code

centos7 编译安装mariadb

筛选后,只有两个结果,我们要下载的文件是maria-10.2.7.tar.gz,获取到这个下载文件的地址

centos7 编译安装mariadb


回到centos中

cd /usr/local/src

wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.7/source/mariadb-10.2.7.tar.gz

把源代码下载到src中。


2. 解压,输入以下指令

tar -zxvf mariadb-10.2.7.tar.gz


3. cd mariadb-10.2.7


4. 如下,安装一些依赖组件

yum install -y ncurses-devel openssl-devel openssl cmake


5. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mydata -DSYSCONFDIR=/etc  -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci


6. make


7. make install


* 如果在make过程中出错,可考虑一下是内存问题,1G内存没开swap编译出错,如下错误

centos7 编译安装mariadb

[ 49%] Building C object storage/mroonga/vendor/groonga/lib/CMakeFiles/libgroonga.dir/expr.c.o
cc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [storage/mroonga/vendor/groonga/lib/CMakeFiles/libgroonga.dir/expr.c.o] Error 4
make[1]: *** [storage/mroonga/vendor/groonga/lib/CMakeFiles/libgroonga.dir/all] Error 2
make: *** [all] Error 2


我们用top命令查看一个swap大小,total只有0

centos7 编译安装mariadb


调整一下swap大小,如下:

1. sudo swapoff -a //关闭swap
2. sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 //增大swap文件
3. sudo mkswap /swapfile //把增大后的文件变为swap文件
4. sudo swapon /swapfile //重新打开swap
然后再重新执行gcc build中的make && make install,即可

发现,在linux编译程序时,好多错误都是由内存不足引起的,所以,出错了,可以优先排查一下内存。



详细安装及配置,请参考http://cuchadanfan.blog.51cto.com/9940284/1689556