源码编译安装MariaDB
1 检查环境
-
查询系统内是否已安装 Mariadb 旧版本
[root@centos7 ~]#rpm -qa |grep mariadb -
删除旧版本 Mariadb
[root@centos7 ~]# yum -y remove mariadb-libs
2拷贝文件到centos
[root@centos7 ~]#ls
\ anaconda-ks.cfg Documents initial-setup-ks.cfg Music nginx.con.bak Public Videos
? Desktop Downloads mariadb-10.6.7.tar.gz nginx Pictures Templates
3安装包
[root@centos7 ~]#yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
4 做准备用户和数据目录
[root@centos7 ~]#useradd -r -s /sbin/nologin mysql
解压缩
[root@centos7 ~]#tar xvf mariadb-10.6.7.tar.gz
改变所有者和所属组
[root@centos7 ~]#mkdir -p /data/mysqldb
[root@centos7 ~]#chown mysql.mysql /data/mysqldb
5cmake编译安装
进入 解压缩的后MariaDB的目录
[root@centos7 ~]#cd mariadb-10.6.7/
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译
cd mariadb-10.2.18/
使用cmake编译 :
-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
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql\
-DMYSQL_DATADIR=/data/mysqldb/\
-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

浙公网安备 33010602011771号