MySQL与nfs的实验

(1) 创建一个共享mydata,路径为/mysql/data,客户端1挂载至/mydata;而后客户端1主机安装mysqlmariadb,将数据目录设定为/mydata,要确保mysql服务能正常 运行,但数据目录位于samba server上;

(2) 客户端2主机使用类似客户端1主机的方式挂载mydata共享至本地的/mydata目录,而后,直接安装mysqlmariadb server,设定其数据目录为/mydata;测试

(a) 客户端1 mysql服务运行时,客户端2mysql服务能否启动?

(b) 客户端1 mysql服务停止时,客户端2mysql服务能否启动?

 

准备三台主机,server-1(10.1.64.11),server-2(10.1.64.12)server-3(10.1.64.13)

Server-1

①将server-1安装nfs

service rpcbind status

service rpcbind start

vim  /etc/exports

/mysql/data      10.1.64.12(r,w)     10.1.64.13(r,w)

Systemctl restart nfs

⑥创建共享目录

  Mkdir -p /mysql/data

⑦创建用户mysql,规定其主ID27

  并将/mysql/data目录的属主属组改为mysql

Server-2

①在server-2中安装mariadb-server

②创建用户mysql,用户名可以不一样。但是其主ID一定要是27

③创建mysql的数据存放目录mydata,并将其属主属组改为新创建的用户mysql

④修改配置文件/etc/my.cnf

      如果是用yum安装的mariadb,有可能会没有/etc/my.cnf配置文件,需要将my.cnf

  的模板文件/usr/shane/mysql/my-large.cnf拷贝到/etc/,并改名为my.cnf

      Vim  /etc/my.cnf,并指定mydata为数据库的数据存放路径。

       datadir = /mydata/

⑤将server-1/mysql/data目录挂载到server-2/mydata目录上。

      Mount -t nfs 10.1.64.11:/mysql/data  /mydata

⑥挂载成功后重启mariadb服务。查看端口,顺利启动。

Server-3

          Server-3的配置跟server-2的配置相同。

 

总结:

      server-2mariadb服务开启时,server-3mariadb服务就开启不了,当server-2

  Mariadb服务关闭后,server-3mariadb就可以顺利启动。

      因此,当将两个数据库的数据存放路径都指向同一个nfs的挂载点时,两个数据库不能

  同时启动。

 

遇到的问题:

在修改数据库的配置文件时,配置的是/etc/my.cnf.d/server.cnf,配置完成后,两个数据库都

顺利重启了,但是当进入/mysql/data目录中却没有生成mysql相关的配置。意味着数据库数据

指定路径失败。

通过翻阅笔记,发现系统默认读取的配置文件应该是/etc/my.cnf。找到该配置文件的示例

目录/usr/share/mysql/my-large.cnf,将其复制到/etc/并改名为my.cnf。再次修改my.cnf文件,将

Mydata目录指定为mariadb的数据存放路径。

启动mariadb服务,查看mydata目录,生成了mariadb相关的文件。进入nfs/mysql/data

样有数据库的相关配置文件。

原创文章,作者:zzd,如若转载,请注明出处:http://www.178linux.com/56227

(0)
zzdzzd
上一篇 2016-10-30
下一篇 2016-10-30

相关推荐

  • Linux系统认知

    前言 在认识Linux系统之前先介绍下计算机的组成构造及其功能: 1,简单来说计算机可以划分为软件系统和硬件系统: (1)软件系统自不必说就是各种不同的程序,协助用户更好地使用电脑。 (2)硬件系统指的是主机、显示器、鼠键等硬件设备。 2,按冯诺依曼体系可将计算机按逻辑构成分为: (1)CPU(运算器、控制器)。运算器是数据处理装置,用来完成对数据的算术运算…

    Linux干货 2016-09-20
  • 源码包安装Apache服务

    1、安装development tools程序包组 安装Apache服务器前需要解决依赖性问题,比如需要安装GCC、GCC++、OPENSSL等等,因为是在虚拟机里做实验,这里就通过直接安装包组的方法解决依赖性问题。 (1)挂载安装光盘,并安装“Development tools”包组 [root@localhost ~]# mount&…

    Linux干货 2016-08-24
  • 推荐-LAMP的编译安装

    首先解释一下LAMP,L:Linux;A:apache;M:MariaDB;P:php。Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件。 本文就是介绍编译安装apache2.4,MariaDB5.5,以及php(基于模块化和fpm的这两种方式来配合php提供服务)。 因为php是…

    Linux干货 2016-04-11
  • linux的内建命令和外部命令

    摘要:    Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但是其工作机制相差很大。本文就内建命令和外部命令做一下介绍。 一、内部命令(内建命令)    内部命令,实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shel…

    Linux干货 2016-10-18
  • linux下NTP服务

    linnux NTP

    2017-10-18
  • mysql5.6 GTID的实现以及maridb 10.9多主一从的架构

    一、MySQL 5.6 以后出现的GTID:     GTID概念:          1. GTID是一个由服务器的UUID和事务序号组成的唯一事务序号       &…

    Linux干货 2015-12-18