源码编译安装MariaDB

1 检查环境

  1. 查询系统内是否已安装 Mariadb 旧版本

     [root@centos7 ~]#rpm -qa |grep mariadb
    
  2. 删除旧版本 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
posted @ 2023-08-05 07:40  浅~~  阅读(300)  评论(0)    收藏  举报