源码编译安装mariadb环境,使用centos 6.X系统。使用centos7.X系统会有一些命令不同,整个过程都是一样。
1:编译安装mariadb先使用yum安装解决mariadb的依赖库
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssldevel libevent-devel libaio-devel
2:做准备用户和数据目录
创建一个mysql用户,并指定家目录为数据存储的位置
useradd –r –s /sbin/nologin –d /data/mysql/ mysql
创建存储目录,建议使用lvm ,这样方便以后扩建
mkdir -pv /data/mysql
修改目录的权限
chown mysql.mysql /data/mysql
解压mariadb源码文件
tar xvf mariadb-10.2.18.tar.gz
3: cmake 编译安装
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译
cd mariadb-10.2.18/
使用cmake编译 :
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/ -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_MROONGA_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
注:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql (指定mariadb 安装的路径)
-DMYSQL_DATADIR=/data/mysql/ (指定mariadb的数据存放路径
-DSYSCONFDIR=/etc (指定mairiadb的配置文件,my.cnf的路径
-DMYSQL_USER=mysql (指定用户为mysql)
-DWITH_INNOBASE_STORAGE_ENGINE=1 (编译INNODB引擎)
-DWITH_ARCHIVE_STORAGE_ENGINE=1 (编译ARCHIVE引擎)
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 (编译BLACKHOLE引擎)
-DWITH_PARTITION_STORAGE_ENGINE=1 (编译PARTITION引擎)
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 (不编译MROONGA引擎)
-DWITH_DEBUG=0 (将Debug Sync工具编译到服务器中)
-DWITH_READLINE=1
-DWITH_SSL=system (要包含的SSL支持类型或要使用的OpenSSL安装的路径名。)
-DWITH_ZLIB=system (编译zlib)
-DWITH_LIBWRAP=0 (Whether to include libwrap (TCP wrappers) support.)
-DENABLED_LOCAL_INFILE=1 (This option controls the compiled-in default LOCAL capability for the MySQL client library)
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock (服务器侦听套接字连接的Unix套接字文件路径。这必须是绝对路径名。默认是/tmp/mysql.sock)
-DDEFAULT_CHARSET=utf8 (指定字符集)
-DDEFAULT_COLLATION=utf8_general_ci
编译选项:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
编译完成后安装。
make && make install
如果出错,执行rm -f CMakeCache.txt源码编译安装mariadb
4:准备环境变量
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
5:生成数据库文件
cd /usr/local/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
6:准备配置文件
cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
7:准备启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
8:设置开机启动服务
chkconfig --add mysqld
9:启动mysql服务器
service mysqld start