环境全部基于vmware player 12

os: centos7

mariadb: mariadb-10.1.12-linux-x86_64.tar.gz

主要根据MariaDB给出的帮助文档,以及网上的这篇帖子进行操作

中间碰到了无数问题,在google的帮助下都一一解决了

耗费好几个小时,我真是个鶸

su root #切换到root用户

groupadd mysql #添加mysql组

useradd -g mysql mysql #在mysql组中添加mysql用户

cd /usr/local 

gunzip < /home/cc/Destop/mariadb-10.1.12-linux-x86_64.tar.gz | tar xvf - #解压MariaDB二进制安装包

ln -s mariadb-10.1.12-linux-x86_64 mysql #创建符号链接

cd mysql

chown -R mysql . #修改权限

chgrp -R mysql . #修改权限

mkdir -p  /var/lib/mysql3307 #创建数据文件夹

chmod --reference /var/lib/mysql /var/lib/mysql3307 #将数据文件夹的访问权限授予mysql,否则这个文件夹只有root用户可以访问

chown --reference /var/lib/mysql /var/lib/mysql3307

scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql3307 #初始化数据文件夹

cp -p /etc/my.cnf /var/lib/mysql3307/my.cnf #在数据文件夹中添加my.cnf配置文件,下一步会修改它

修改/var/lib/mysql3307/my.cnf,如下所示

[mysqld]
datadir=/var/lib/mysql3307
socket=/var/lib/mysql/mysql3307.sock
port=3307

[mysqld_safe]
log-error=/var/log/mysqld3307.log
pid-file=/var/run/mysqld/mysqld3307.pid

bin/mysql_safe --defaults-file=/var/lib/mysql3307/my.cnf --user=mysql &

这一步后开始报错,查看错误信息后发现,是因为默认的位于/etc/下的my.cnf文件中,有这样两个路径: /var/og/mariadb/mysql.log 和 /var/run/mariadb/mysql.pid,而这两个路径不存在,所以报错

创建这两个文件夹后,依然报错,原因是权限不够,将/var/run/mariadb目录授权给mysql用户即可

bin/mysql_safe --defaults-file=/var/lib/mysql3307/my.cnf &  #以我们指定的my.cn配置文件为要求,启动mysq实例

然后用命令 netstat -tanp | grep 3307,即可看到mysql已经在监听3307端口了

bin/mysql -uroot -p -h127.0.0.1 -P3307,连入mysql

修改root密码,然后用source导入数据库初始化脚本

bin/mysqladmin -S /var/lib/mysql/mysql3307.sock shutdown -P #结束3307号mysql进程

cp -r -p /var/lib/mysql3307 /var/lib/mysql3308 #复制mysql数据文件夹,-p参数是为了连同权限一起复制,否则复制过来的权限全是root,mysql就无法访问了

cp -r -p /var/lib/mysql3307 /var/lib/mysql3309

修改mysql3308与mysql3309文件夹中的my.cnf文件,然后运行

bin/mysqld_safe --defaults-file=/var/lib/mysql3307/my.cnf &

bin/mysqld_safe --defaults-file=/var/lib/mysql3308/my.cnf &

bin/mysqld_safe --defaults-file=/var/lib/mysql3309/my.cnf &

即可同时运行三个MariaDB数据库实例

在centos7环境下建立MariaDB多实例的更多相关文章

  1. 在ConoHa上Centos7环境下源码安装部署LNMP

    本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...

  2. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  3. Centos7环境下etcd集群的搭建

    Centos7环境下etcd集群的搭建 一.简介 "A highly-available key value store for shared configuration and servi ...

  4. Centos7环境下消息队列之ActiveMQ实战

    Activemq介绍 对于消息的传递有两种类型: 一种是点对点的,即一个生产者和一个消费者一一对应: 另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收. JMS定义了 ...

  5. Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点

    Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点 一.安装docker 执行代码如下: curl -sSL https://get.daocloud.io ...

  6. Linux centos7环境下安装JDK的步骤详解

    Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令:   java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...

  7. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  8. CentOS7环境下SSH端口修改笔记

    CentOS7环境下SSH端口修改笔记 说明: CentOS7服务器环境,默认SSH端口为22,考虑到安全方面问题,欲修改端口为62231(机器内网IP为192.168.1.31) ssh配置文件和i ...

  9. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

随机推荐

  1. python入门:用户登录,三次错误机会

    #!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次机会重试 #主要分为两个部分,一部分是写三次循环,一部分写用户输入 #用户登录的实现,循环3次 ...

  2. GOPATH和GOROOT

    安装指定版本golang apt-get purge golang* //删除之前安装的文件 add-apt-repository ppa:evarlast/golang-1.8 apt-get up ...

  3. linux学习-CentOS 7 环境下大量建置账号的方法

    一些账号相关的检查工具 pwck pwck 这个指令在检查 /etc/passwd 这个账号配置文件内的信息,与实际的家目录是否存在等信息, 还可以比对 /etc/passwd /etc/shadow ...

  4. Linux学习-Linux 主机上的用户讯息传递

    查询使用者: w, who, last, lastlog 如果你想要知道目前已登入在系统上面的用户呢?可以透过 w 或 who 来查询喔!如下范例所示: [root@study ~]# w 01:49 ...

  5. 有限状态机(FSM)的设计与实现

    有限状态机(FSM)是表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用.通常FSM包含几个要素:状态的管理.状态的监控.状态的触发.状态触发后引发的动作.本文主要 ...

  6. STM8S与IAR程序常用错误

    一.IAR中的重复定义问题 在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包 含到main.c中,同时, ...

  7. Prolog&Epilog

    这篇博客会简单介绍一下Prolog&Epilog 然后再简单介绍下我对于程序在计算机中到底如何运行的一些理解(因为自己之前也从来没有接触过这些方面的知识,所以如果有讲的不对的地方希望大家能够帮 ...

  8. c#利用反射实现对类中的常量进行取值和对应常量的注释

    C#利用反射实现对类中的常量进行取值和对应常量的注释 项目示例:https://gitee.com/dhclly/IceDog.GenerateErrorCode 因为业务需要,项目中有大量的错误码, ...

  9. Python3下基于bs4和sqlalchemy的爬虫实现

    本文来自网易云社区 作者:王贝 小学生现在都在学python了,作为专业程序员当然不能落下了,所以,快马加鞭,周六周末在家学起了python3,python3的基本语法比较简单,相比于Java开发更加 ...

  10. Selenium WebDriver-判断页面中某一元素是否已经显示,通常用于断言

    判断界面中某一元素是否已经呈现,多用于断言,代码如下: #encoding=utf-8 import unittest import time from selenium import webdriv ...