写在前面

最近在学习Maria DB,为了方便查阅,又为了将所学的知识重新的梳理,特作此随笔一篇,希望过后阅读时能有所感,也希望对大家能够有所帮助。

安装前的准备

大家都知道,在Linux上安装软件一共有三种方式:1、rpm包安装 。2、二进制程序包安装。3、源码编译安装。对于前2种方式安装起来会便捷不少,但是定制化程度低,当我们需要进行软件diy时,那么编译安装就再合适不过了。

对于CentOS 6 来说,使用yum安装,yum源里面默认提供的是低版本MySQL,因此当我们想要安装Maria DB时,则需要使用编译安装。到CentOS 7后,可以使用yum源直接按照MariaDB。

1、依赖的库和包

在编译之前,我们需要安装一些以来的库和包

  1. yum -y groupinstall "Development tools" "Server Platform Development" #这两个库中包含很多常用的软件,例如openssl-devel、bison等
    yum -y install cmake lrzsz #此处的lrzsz是一个用于物理机和虚拟机之间传输文件的软件,后面要将软件包从物理机中拷贝到虚拟机中。

2、其他相关的设置

  1. grouped -r -g mysql #添加一个系统组
  2. useraddd -r -u -g mysql #添加一个系统用户并且加入对应的系统组中
  3.  
  4. mkdir -p /data/mysql #为MariaDB设置对应目录
  5. chown -R mysql.mysql /data/mysql #改变对应的属组属主,以便写入数据

安装mariaDB

1、解压到制定文件夹

  1. rz #由于此处MariaDB是放到物理机桌面的,因此使用此命令进行传输
  2. tar -xf mariadb-10.0.13.tar.gz
    cd mariadb-10.0.13.tar.gz

2、安装

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #安装目录为/usr/local/mysql,其中mysql目录可以不事先建立。
-DMYSQL_DATADIR=/data/mysql \          #数据存储的目录,需要事先建立,并且设置好属主属组,方便对应的属主属组读写数据
-DWITH_XTRADB_STORAGE_ENGINE=1 \        #默认已存在CSV和MyISAM存储引擎,因此加入FEDERATEDX、ARCHIVE、MYISAM、INNOBASE、BLACKHOLE存储引擎。其中innoDB最常用。
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \                #加入ssl、zlib库 
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8 \             #设置字符集
-DDEFAULT_COLLATION=utf8_general_ci      #设置排序方式

注:当此步骤出现

-- Configuring done
-- Generating done

” 时,即可进行下一步安装。

此步骤会生成一个"CMakeCache.txt"文件,当出现问题时,需要将其删除后重新编译。

make

make install

安装完成后

1、MariaDB加入环境变量  

  1. vim /etc/profile.d/mysql.sh
  2.   export PATH=$PATH:/usr/local/mysql/bin  #加入此内容
  3. . /etc/profile.d/mysql.sh #重新加载,使其生效,必须使.sh结尾,否则仅仅当前会话生效。

2、设置配置文件并初始化

  1. chown -R mysql.mysql /usr/local/mysql #设置属主和数组,方便写入配置文件
    cd /usr/local/mysql
  2. cp support-files/my-large.cnf /etc/my.cnf #添加配置文件,并且在[mysqld]中加入下面三行配置信息
  3.   "datadir=/data/mysql/
  4.   innodb_file_per_table=on
  5.   skip_name_resolve=on"
  6. scripts/mysql_install_db --user=mysql --datadir=/data/mysql #注意:此初始化脚本必须在/usrl/local/mysql这个目录中执行,否则会报错。
      初始化后,数据目录会有一些原始数据

    ls /data/mysql/
    aria_log.00000001 ib_logfile0 mysql-bin.000001 mysql-bin.state
    aria_log_control ib_logfile1 mysql-bin.000002 performance_schema
    ibdata1 mysql mysql-bin.index test

3、加入系统启动项

  1. cp support-files/mysql.server /etc/init.d/mysqld
  2. chmod +x /etc/init.d/mysqld #给脚本增加执行权限
  3. chkconfig mysqld on #加入开机启动项

4、MariaDB用户安全初始化

  1. /usr/local/mysql/bin/mysql_secure_installation
    #此步骤会设置root密码、禁止root远程登录、移除一名用户,删除测试数据库,并且重新加载授权表。根据自己喜好选择即可。
    PS:当MariaDB启动时,才开始进行此操作。

5、登录操作

  1. [root@mycentos ~]# mysql -uroot -p #登录命令,以root用户登录,密码为上一步操作所设置的。
  2. Enter password:
  3. Welcome to the MariaDB monitor. Commands end with ; or \g.
  4. Your MariaDB connection id is
  5. Server version: 10.0.-MariaDB-log Source distribution  #此处为MariaDB的版本
  6.  
  7. Copyright (c) , , Oracle, SkySQL Ab and others.
  8.  
  9. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  10.   
  11. MariaDB [(none)]>   #已经进入数据库,完成编译安装!!!

  

Centos 6下使用cmake编译安装MariaDB的更多相关文章

  1. CentOS下使用cmake编译安装mysql

    一.下载安装所必需的依赖包 1.因为高版本mysql都用cmake安装,所以下载cmake wget http://www.cmake.org/files/v3.0/cmake-3.0.1.tar.g ...

  2. 在 Linux 下用 CMAKE 编译安装 OpenCV 3.2.0

    [安装相关软件和库] 1.安装CMAKE:这里使用apt-get来安装; CMAKE 是一个跨平台编译工具,能够输出各种makefile,和project 文件,指导编译器编译,对CMAKE具体的可以 ...

  3. CentOS 6.6 下源码编译安装MySQL 5.7.5

    版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...

  4. 在centos上编译安装mariadb数据库

    一.安装前提(准备数据文件.安装其他依赖的软件) 1.准备数据存放的目录 [root@localhost ~]# fdisk /dev/sdb  (fdisk /dev/sdb 创建一个逻辑分区/de ...

  5. linux下编译安装MariaDB 10.4.7,解决错误:cannot access ‘/auth_pam_tool_dir’: No such file or directory

    编译安装MariaDB 10.4.7,前面的步骤我就不复述了,一切正常没什么问题. 当执行到:scripts/mysql_install_db --basedir=/usr/local/mysql - ...

  6. Windows下CMake编译安装OpenCV

    Windows下CMake编译安装OpenCV 这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个hello ...

  7. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  8. CentOS_5.6下使用cmake编译MySQL_5.5.11教程

    注:资料来自网络    Centos 5.6编译安装mysql 5.5.11 2011年06月24日 星期五 05:33 MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采 ...

  9. CentOS7编译安装MariaDB

    一.环境信息: 操作系统版本:CentOS Linux release 7.3.1611 (Core) 内核版本:3.10.0-514.el7.x86_64 MariaDB版本:mariadb-10. ...

随机推荐

  1. 从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布

    一.前言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.Jenkins 支持各种运行方式,可通过系统包.Docker 或者通过一个独立的 Java ...

  2. leetcode 刷题记录(java)-持续更新

    最新更新时间 11:22:29 8. String to Integer (atoi) public static int myAtoi(String str) { // 1字符串非空判断 " ...

  3. 【Leetcode】【简单】【217. 存在重复元素】【JavaScript】

    题目描述 217. 存在重复元素 给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 示例 1: 输入: [ ...

  4. 【HDU5409】CRB and Graph 边双联通 子树最值

    HDU # 题意 有一个简单图,n个点,m条边.对于每条割边,求出删去这条边后,在两个联通块中各取一个u,v.使得u<v,并且u尽量大而v尽量小. # 思路 求出边双联通是肯定的. 答案的限制条 ...

  5. P3705 [SDOI2017]新生舞会 分数规划 费用流

    #include <algorithm> #include <iterator> #include <iostream> #include <cstring& ...

  6. lightoj 1086 - Jogging Trails(状压dp)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1086 题解:题目就是求欧拉回路然后怎么判断有欧拉回路只要所有点的度数为偶数.那 ...

  7. 【JavaScript】吃饱了撑的系列之JavaScript模拟多线程并发

    前言 最近,明学是一个火热的话题,而我,却也想当那么一回明学家,那就是,把JavaScript和多线程并发这两个八竿子打不找的东西,给硬凑了起来,还写了一个并发库concurrent-thread-j ...

  8. 用webpack构建一个常规项目,好处和坏处分析

    最近项目改版,用webpack重新架构. 些许心得我会写几篇记录一下. 好处如下: 1.ES6语法用起来,babel-loader转义,各种新语法用起来. 2.import 语法写起来,webpack ...

  9. jQuery - 01. jQuery特点、如何使用jQuery、jQuery入口函数、jQuery和DOM对象的区别、jQuery选择器、

    this指的是原生js的DOM对象 .css(“”):只写一个值是取值,写俩值是赋值 window.onload   ===   $(document).ready(); $(“”):获取元素   标 ...

  10. WordCount2.2

    说明: 合作者:201631062507  201631062526(学号) 代码地址:https://gitee.com/WordCountMC/WordCountTeam 本次作业链接:https ...