CentOS下源码编译安装MariaDB-5.5.49

一、cmake编译环境

  1.编译环境(CentOS 6)

        [root@localhost ~]# yum install -y cmake    # BASE源中,项目构建工具

        [root@localhost ~]#  yum -y groupinstall "Development Tools"  "Server Platform Development"  # 开发环境

        [root@localhost ~]# yum install -y ncurses-devel openssl-devel libevent-devel  # 依赖包组

  注意

        MySQL 5.5及以上版本或者较新版本的Mariadb时的项目工具不再是make,而是cmake

 

  2.cmake介绍

        cmake能够独立于源码(out-of-source)编译,即编译工作可以在另一个指定的目录中而非源码目录中进行,保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure                             cmake .

./configure --help                  cmake . -LH  或者 ccmake .

如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt

 

二、编译安装Mariadb-5.5

  1.创建用户和数据目录

    [root@localhost ~]# useradd -r mysql

    [root@localhost ~]# id mysql

 uid=27(mysql) gid=27(mysql) groups=27(mysql)

    [root@localhost ~]# mkdir -pv /mydata/data

 

  2.编译安装源码

    [root@localhost ~]# tar xf mariadb-5.5.49.tar.gz

    [root@localhost ~]# cd mariadb-5.5.49/

    [root@localhost mariadb-5.5.49]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.49 -DMYSQL_DATADIR=/mydata/data  -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

    [root@localhost mariadb-5.5.49]# make

    [root@localhost mariadb-5.5.49]# make install

 

  3.初始化数据

    [root@localhost ~]# cd   usr/local/

    [root@localhost local]# ln sv mariadb-5.5.49 mysql

    [root@localhost local]# cd mysql

    [root@localhost mysql]# chown -R root.mysql ./*

    [root@localhost mysql]# scripts/mysql_install_db --user=mysql  --datadir=/mydata/data  # 数据初始化

 

  4.编辑配置文件

    [root@localhost ~]# mkdir /etc/mysql

    [root@localhost mysql]# cp support-files/mylarge.cnf  /etc/mysql/my.cnf

    [root@localhost mysql]# vim /etc/mysql/my.cnf

datadir = /mydata/data                # 指明数据目录

innodb_file_per_table = ON        # innodb存储引擎工作方式

skip_name_resolve = ON              # 跳过名称解析

 

  5.启动脚本与启动服务

    [root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

    [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

    [root@localhost mysql]# chkconfig --add mysqld  # 增加到开机启动

    [root@localhost mysql]# service mysqld start

    [root@localhost mysql]# ss -tnl

    [root@localhost ~]#/usr/local/mysql/bin/mysql_secure_installation  # 安全初始化

 

  7.环境变量和头文件导出

 

三、CentOS7示例启动脚本

    [root@localhost ~]# vim /etc/systemd/system/mariadb.service也可以放置在/usr/lib/systemd/system/mariadb.service

CentOS 7 Unit file示例:

[Unit]

Description=MariaDB database server

After=syslog.target

After=network.target

[Service]

Type=simple

User=mysql

Group=mysql

Execstart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql

TimeoutSec=300

Privatetmp=false

[Install]

WantedBy=multi-user.target

    [root@localhost ~]# systemctl demon-reload

注意:

    也可放置在/usr/lib/systemd/system/mariadb.service

MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里

相关推荐