CentOS 7 源码编译MariaDB
下载源码包


安装 SCL devtoolset-7
SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。SCL为社区的以下需求而设计:创建和使用软件集合生产系统、概念验证系统、开发测试平台。SCL目前已经支持Fedora和RHEL(衍生版本如CentOS也包含在内)
SCL的创建就是为了给RHEL/CentOS用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。与之相对的是第三方源,它们可能会在已安装的包之间引起冲突
某些软件在其上会编译不过,自己编译高版本的 gcc 可能也会遇到一些问题,比较麻烦。但有一个第三方库可以解决这个问题,即 devtoolset devtoolset 有很多版本,例如 devtoolset-2(gcc-4.8.2)、devtoolset-3(gcc-4.9.2)、devtoolset-4(gcc-5.2.1)。
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- [root@sql1 ~]# gcc --version
gcc (GCC) 4.8. (Red Hat 4.8.-)
Copyright © Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@sql1 ~]# scl enable devtoolset- bash
[root@sql1 ~]# gcc --version
gcc (GCC) 7.3. (Red Hat 7.3.-)
Copyright (C) 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..tar.gz -C /usr/src/
[root@sqll ~]# cd /usr/src/mmariadb-10.3./
[root@sqll mariadb-10.3.]# 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= \
-DWITH_XTRADB_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DENABLED_LOCAL_INFILE= \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES= \
-DWITH_DEBUG= \
&& make -j4 && make -j4 install
初始化安装数据库
[root@sql1 mariadb-10.3.8]# 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了

CentOS 7 源码编译MariaDB的更多相关文章
- Centos 7源码编译安装 php7.1 之生产篇
Centos 7源码编译安装 php7.1 之生产篇 Published 2017年4月30日 by Node Cloud 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具 ...
- CentOS 7 源码编译安装PostgreSQL 9.5
下载 在postgresql的官方即可找到源码文件目录,地址如下:https://www.postgresql.org/ftp/source/,在下载列表中根据需求选择版本,进入子目录后,可以看到文件 ...
- CentOS 7 源码编译安装MySQL 5.7.14
一.添加用户和组 1. 进入root: su 2. 添加组: groupadd mysql 3. 添加用户: useradd -r -g mysql -s /bin/false mysql 二.安装 ...
- CentOS 7 源码编译安装 Nginx
这里安装的是nginx 1.14版本 1.下载源码 #下载 wget http://nginx.org/download/nginx-1.14.0.tar.gz #解压 tar -xzf nginx- ...
- CentOS 7 源码编译安装 NodeJS
1.安装 gcc.gcc-c++ yum -y install gcc gcc-c++ kernel-devel 2.下载源码 wget https://nodejs.org/dist/v8.11.3 ...
- CentOS 7 源码编译安装 Redis
1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar -xzf redis-4.0.10.tar.gz cd ...
- CentOS 7 源码编译vim8+vimplus
安装依赖包 [root@DaMoWang ~]# yum -y install git \ centos-release-scl \ gcc-c++ \ ncurses-devel \ python- ...
- CentOS中源码编译安装Nginx
1.从官网通过wget命令将Nginx源码包下载到Linux上 Nginx下载页面:http://nginx.org/en/download.html 2.在Linux上安装需要依赖的环境 yum ...
- CentOS 7 源码编译安装 Mysql 5.7
1.创建 mysql 用户,用户组,以及相关目录 /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql mkdir -p /opt/loc ...
随机推荐
- python内建时间模块 time和datetime
时间模块 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时. ...
- Java开发面试题整理(2019春招)
一.Java基础部分 1. HashMap和Hashtable各有什么特点,它们有什么区别?(必背题,超级重要) HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们 ...
- Dart
Dart异步与阻塞 import 'dart:async'; import 'dart:io'; void main() async { for(int i = 0;i<10;i++) { as ...
- js call 理解
首先直接放定义: 总结 1.前提:fun是函数 2.thisArg是在fun函数运行时 指定的this值 1.使用call来继承,新函数使用已经定义好的函数里的方法 下面直接上实例 函数b直接使用函 ...
- tomcat启动出错 invalid LOC header
tomcat启动出错 invalid LOC header,run as maven test 没有报错,只有警告: 'build.plugins.plugin.version' for org.ap ...
- Ubuntu下开启Mysql远程访问的方法
首先想说,JetProfiler对分析项目中MySQL问题以及优化,是个非常好的工具.但是看网上文章,中文介绍真的不多.是因为国内现在都不用MySQL了吗? 因为公司JetProfiler是共用的,安 ...
- J Press the Button
BaoBao and DreamGrid are playing a game using a strange button. This button is attached to an LED li ...
- TXT电子书格式怎样转换成epub格式
怎样将TXT电子书格式转换成epub格式呢?因为很多时候不同的阅读器所支持的电子书格式是有所不同,所以电子书格式转换的问题,在生活中也是会经常出现的问题.如果我们需要将TXT电子书格式转换成epub格 ...
- IBM Installation Manager 工具概述(转)
IBM Installation Manager 工具概述 IBM Installation Manager 是一款可运行在多种平台(如 IBM i. z/OS. Windows. Linux.Uni ...
- MOT南京站 | 卓越研发之路:锻造顶级后端系统
代码是互联网企业信息化核心,也是众多研发团队智慧的结晶,如何将代码发挥到最大价值?如何用代码快.准.好的实现需求?相信这是很多IT从业者所困扰的问题. MOT南京站首期以『锻造顶级后端系统』为主题,我 ...