安装依赖库
apt-get install bison bison-dev zlib-dev libcurl-dev libarchive-dev
boostdev gcc gcc-c++ cmake ncurses-dev gnutls-dev
libxml2-dev openssldev libevent-dev libaio-dev
生成安装目录,目录授权
useradd –b /home –s /bin/bash -m mariadb //添加mariadb用户
mkdir -p /data/mariadb //生成目录
chown -R mariadb:mariadb /data/mariadb //目录授权
获取Mariadb源码压缩包,解压
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.24/source/mariadb-10.2.24.tar.gz
tar xvzf mariadb-10.2.24.tar.gz
cd mariadb-10.2.24
源文件下载见附件:
Cmake 编译安装
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同的平台进行自定义编译,编译参数如下:
cmake .
-DCMAKE_INSTALL_PREFIX=/data/mariadb/prefix
-DMYSQL_DATADIR=/data/mariadb/data
-DSYSCONFDIR=/data/mariadb/etc
-DMYSQL_USER=mariadb
-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/mariadb/run/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
....
make
make install //如果出错,执行rm -f CMakeCache.txt, 然后重新编译安装mariadb
-DCMAKE_INSTALL_PREFIX=/data/mariadb/prefix (指定mariadb 安装的路径)
-DMYSQL_DATADIR=/data/mariadb/data (指定mariadb的数据存放路径
-DSYSCONFDIR=/data/mariadb/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/mariadb/run/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
启动Mariadb服务,初始化Root账户密码
/data/mariadb/prefix/bin/mysqld //启动mariadb服务
....
/data/mariadb/prefix/bin/mysql_secure_installation //初始化root账户登录密码
mariadb和mysql同出一脉,所以使用mysql驱动也可以直接连接mariadb服务,可以使用mysql客户端进行连接测试。