下载源码包

安装 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的更多相关文章

  1. Centos 7源码编译安装 php7.1 之生产篇

    Centos 7源码编译安装 php7.1 之生产篇 Published 2017年4月30日 by Node Cloud 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具 ...

  2. CentOS 7 源码编译安装PostgreSQL 9.5

    下载 在postgresql的官方即可找到源码文件目录,地址如下:https://www.postgresql.org/ftp/source/,在下载列表中根据需求选择版本,进入子目录后,可以看到文件 ...

  3. CentOS 7 源码编译安装MySQL 5.7.14

    一.添加用户和组 1. 进入root: su 2. 添加组: groupadd mysql 3. 添加用户: useradd -r -g mysql -s /bin/false mysql 二.安装 ...

  4. CentOS 7 源码编译安装 Nginx

    这里安装的是nginx 1.14版本 1.下载源码 #下载 wget http://nginx.org/download/nginx-1.14.0.tar.gz #解压 tar -xzf nginx- ...

  5. CentOS 7 源码编译安装 NodeJS

    1.安装 gcc.gcc-c++ yum -y install gcc gcc-c++ kernel-devel 2.下载源码 wget https://nodejs.org/dist/v8.11.3 ...

  6. 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 ...

  7. CentOS 7 源码编译vim8+vimplus

    安装依赖包 [root@DaMoWang ~]# yum -y install git \ centos-release-scl \ gcc-c++ \ ncurses-devel \ python- ...

  8. CentOS中源码编译安装Nginx

    1.从官网通过wget命令将Nginx源码包下载到Linux上 ​ Nginx下载页面:http://nginx.org/en/download.html 2.在Linux上安装需要依赖的环境 yum ...

  9. CentOS 7 源码编译安装 Mysql 5.7

    1.创建 mysql 用户,用户组,以及相关目录 /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql mkdir -p /opt/loc ...

随机推荐

  1. docker容器添加微软雅黑字体

    添加中文字体其实很简单,往容器里COPY一个ttf字体文件就生效了,不需要执行fc-cache. 基于debian 8的tomcat容器,Dockerfile: COPY msyh.ttf /usr/ ...

  2. ICE的异步方法调用

    转自:http://blog.sina.com.cn/s/blog_45497dfa0100nwbr.html http://www.cnblogs.com/mawanglin2008/article ...

  3. 24小时学通Linux内核总结篇(kconfig和Makefile & 讲不出再见)

    非常开心能够和大家一起分享这些,让我受益匪浅,感激之情也溢于言表,,code monkey的话少,没办法煽情了,,,,,,,冬天的风,吹得伤怀,倒叙往事,褪成空白~学校的人越来越少了,就像那年我们小年 ...

  4. Qt中关于QMouseEventbuttons()和QMouseEventbutton()的使用注意

    在进行QT程序开发中经常需要响应鼠标事件,在QWidget或QMainWindow的子类中可以重载如下鼠标事件实现自己需要的效果. virtual void mouseDoubleClickEvent ...

  5. iOS开发之--属性关键字以及set和get方法

    一.属性分为三大类 1.读写性控制 a.readOnly只读,只会生成get方法,不会生成set方法 b.readWrite可读可写,会生成set方法,也会生成get方法(默认设置) 2.setter ...

  6. puppet(3) 变量、数据类型、表达式、条件判断语句-if、case、selector、unless

    puppet(4) 变量.数据类型.表达式.条件判断语句-if.case.selector语句 puppet变量: 1.名称必须以$开头:赋值使用=,支持追加赋值+=: 2.每个变量都有两种引用格式: ...

  7. 【thinkphp5】安全建议:隐藏后台登录入口地址

    我们都知道后台   www.test.com/admin 是我们最常用的登录入口,方便的同时也留下了隐患,如果你刚好使用了 admin/ 这种账号密码的方式,会导致我们的后台完全暴露在外. 因此我们建 ...

  8. 【消灭代办】第5周 - null拷贝,input自适应,进度条加载,颜色随机值

    2018.12.10 代办一:javascript中js怎么拷贝null的值 null属于简单类型的数值,直接进行拷贝即可: 2018.12.11 代办二:怎么让input自适应宽度? 这样是写下代办 ...

  9. linux的基本操作(shell 脚本的基础知识)

    shell 脚本的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本 ...

  10. 18.jwt加密

    jwt 官网https://jwt.io/ jwt:json web token jwt-simple: https://www.npmjs.com/package/jwt-simple jsonwe ...