CentOS 7 源码编译MariaDB

下载源码包

                                                                                                                                                                                    安装devtoolset-7

MariaDB 编译 TokuDB 引擎时会用到 C++11 标准,系统里 GCC 最高版本 4.8.5 是支持 C++11 标准的,可就算指定了 -DCMAKE_CXX_FLAGS=-std=c++11 也不行。手动编译更高版本的 GCC 又太麻烦,这里直接安装了 devtoolset-7,当然你禁用 TokuDB 引擎也无可厚非

[root@sql1 ~]# yum -y install centos-release-scl devtoolset-7

[root@sql1 ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@sql1 ~]# scl enable devtoolset-7 bash
[root@sql1 ~]# gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                                      

安装依赖包

# 安装依赖包
[root@sql1 ~]# yum install -y gnutls-devel gcc gcc-c++ cmake ncurses-devel bison-devel bison libaio-devel libevent libxml2-devel
# 创建mysql用户和组
[root@sql1 ~]# useradd -M -s /sbin/nologin mysql
# 创建数据库数据存放目录
[root@sql1 ~]# mkdir /mydata/mariadb/ -p
[root@sql1 ~]# chown -R mysql.mysql  /mydata
# 解压、编译、安装mariadb
[root@sql1 ~]# tar xf tar mariadb-10.3.7.tar.gz -C /usr/src/
[root@sqll ~]# cd /usr/src/mmariadb-10.3.7/
[root@sqll mariadb-10.3.7]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
     -DMYSQL_UNIX_ADDR=/tmp/mysql.sock  \
     -DMYSQL_DATADIR=/mydata/mariadb  \
     -DSYSCONFDIR=/etc  \
     -DMYSQL_USER=mysql  \
     -DMYSQL_TCP_PORT=3306  \
     -DWITH_XTRADB_STORAGE_ENGINE=1  \
     -DWITH_INNOBASE_STORAGE_ENGINE=1  \
     -DWITH_PARTITION_STORAGE_ENGINE=1  \
     -DWITH_BLACKHOLE_STORAGE_ENGINE=1  \
     -DWITH_MYISAM_STORAGE_ENGINE=1  \
     -DWITH_READLINE=1  \
     -DENABLED_LOCAL_INFILE=1  \
     -DWITH_EXTRA_CHARSETS=all  \
     -DDEFAULT_CHARSET=utf8  \
     -DDEFAULT_COLLATION=utf8_general_ci  \
     -DEXTRA_CHARSETS=all  \
     -DWITH_BIG_TABLES=1  \
     -DWITH_DEBUG=0 \
 && make -j4 && make -j4 install

初始化安装数据库

[root@sql1 mariadb-10.3.7]# cd /usr/local/mysql/
[root@sql1 mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/  --datadir=/mydata/mariadb/
[root@sql1 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mariadb
[root@sql1 mysql]# chmod +x /etc/init.d/mariadb
[root@sql1 mysql]# chkconfig --add mariadb
[root@sql1 mysql]# ln -s /usr/local/mysql/bin* /usr/local/bin

配置mariadb配置文件

[root@sql1 mysql]# vim /etc/my.cnf
# 只修改这两项
datadir=/mydata/mariadb
socket=/tmp/mysql.sock

启动mariadb数据库服务

[root@sql1 mysql]# systemctl start  mariadb
# mysql_secure_installation 用来修改密码、删除匿名用户、取消远程链接
[root@sql1 mysql]# mysql_secure_installation 

 配置完成后就可以用mysql命令使用mariadb了

                                                                                                                                                                                                                                                                              

猜你喜欢

转载自www.cnblogs.com/bigdevilking/p/9452686.html