现在的位置: 首页 > 综合 > 正文

CentOS7下源码编译安装MariaDB10.2

2020年02月12日 综合 ⁄ 共 2879字 ⁄ 字号 评论关闭

MariaDB是MySQL的一个开源分支,主要是社区在维护,并且完全兼容MySQL,MariaDB在很多方面的性能也要强过MySQL,本文讲解了在CentOS7.2环境下编译安装MariaDB 10.2的过程。

准备

首先准备CentOS7.x操作系统,你可以准备一台虚拟机。然后到MariaDB官网下载源码包mariadb-10.2.12.tar.gz,笔者发表此文时,当前稳定版是10.2.12。下载好后将源码包传至CentOS中。

安装

1.添加用户和组,设置数据保存目录:

groupadd mariadbuseradd -s /sbin/nologin -M -g mariadb mariadbchown -R mariadb:mariadb /data/mysql

上面的命令给系统添加了mariadb用户和组,并给数据存储目录/data/mysql添加相应权限,如果/data/mysql不存在,则手动先创建好。

2.安装cmake和依赖。

yum -y install cmake ncurses ncurses-devel bison

3.进入目录解压tag包。

tar -zxvf mariadb-10.2.12.tar.gzcd mariadb-10.2.12

4.执行编译安装:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITHOUT_TOKUDB=1

注意:-DCMAKE_INSTALL_PREFIX是指定安装的位置,这里是/usr/local/mariadb,-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)的错误。

如果没有什么问题执行编译:

make && make install

5.配置文件,直接复制源码包中的my-small.cnf文件作为配置文件。

在mariadb安装目录下的support-files有好几种配置模板,已经配置好的部分参数,分别用于不同的环境,这里简要说明一下:

    my-small.cnf 这个是为小型数据库或者个人测试使用的,不能用于生产环境 my-medium.cnf 这个适用于中等规模的数据库,比如个人项目或者小型企业项目中 my-large.cnf 一般用于专门提供SQL服务的服务器中,即专门运行数据库服务的主机,配置要求要更高一些,适用于生产环境 my-huge.cnf 用于企业级服务器中的数据库服务,一般更多用于生产环境使用

    所以根据以上几个文件,如果个人使用或者测试,那么可以使用前两个模板;企业服务器或者64G以上的高配置服务器可以使用后面两个模板,另外也可以根据自己的需求来加大参数和扩充配置获得更好的性能。

    这里我们选用my-small.cnf作为测试。

    cp -rf support-files/my-small.cnf /etc/my.cnf

    关于如何配置和优化my.cnf,我们后面会有文章专门介绍,这里先不做修改。

    6.创建初始数据库

    /usr/local/mariadb/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mariadb --datadir=/data/mysql --user=mariadbchgrp -R mariadb /usr/local/mariadb/.

    以上代码初始化了数据库,并且赋予安装目录相应的权限。

    7.加入到系统启动中,开机自启动

    cp /usr/local/mariadb/support-files/mysql.server /etc/init.d/mariadbchmod +x /etc/init.d/mariadbchkconfig --add mariadbchkconfig mariadb on

    8.启动MariaDB

    /etc/init.d/mariadb start

    9.设置密码

    /usr/local/mariadb/bin/mysqladmin -u root password 123456789

    我们给root用户设置密码为123456789。

    10.重启MariaDB

    /etc/init.d/mariadb restart

    11.查看是否正常

    使用命令netstat -lntp查看3306端口是否正常了:

    然后登录进入MariaDB中看下

    /usr/local/mariadb/bin/mysql -uroot -p

    如果一切无误会出现如下代码则安装成功。

    Welcome to the MariaDB monitor. Commands end with ; or g.Your MariaDB connection id is 15Server version: 10.2.12-MariaDB-log Source distributionCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.MariaDB [(none)]>

    接下来,就可以很好的玩耍MariaDB了。

    CentOS7自带了MariaDB,你可以使用yum安装:《CentOS 7.x下的LEMP环境搭建》,如果你嫌编译安装麻烦,你也可以使用二进制文件快速安装,这个我们后面会有文章介绍。还有关于MariaDB的优化配置我们接下来也会专门有文章介绍,敬请关注。

    以上就上有关CentOS7下源码编译安装MariaDB10.2的全部内容,学步园全面介绍编程技术、操作系统、数据库、web前端技术等内容。

抱歉!评论已关闭.