MySQL与nfs的实验

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

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

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

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

 

准备三台主机,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,规定其主ID为27

  并将/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-2的mariadb服务开启时,server-3的mariadb服务就开启不了,当server-2的

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

      因此,当将两个数据库的数据存放路径都指向同一个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 21:02
下一篇 2016-10-30 21:02

相关推荐

  • rpm软件管理工具详解

    1 Linux软件安装概述 安装程序的方式: 软件包概述 RPM RPM的缺点 RPM包 RPM分包 RPM命令的使用 rpm 包管理 升级注意项 如何安装rpm软件包 如何卸载rpm软件包 如何升级rpm软件包 如何查询rpm软件包 如何查看与rpm包相关的文件和其他信息 如何校验rpm包 RPM的数据库 1 Linux软件安装概述 安装程序的方式: 通用…

    Linux干货 2016-09-06
  • Shell脚本编程—特殊用法(select)及函数、递归

    Shell脚本编程—特殊用法及函数   一、while的特殊用法: 1、使用格式: while read 变量名;do    循环体 done </PATH/TO/filename 注:依次从指定的文件中的内容逐行读取,并把读取到的每行赋值给变量。 2、例题: 扫描/etc/passwd文件每一行,如发现GECOS字段为空…

    Linux干货 2016-08-21
  • LVS

    一 LVS工作原理 1. lvs-nat模型 lvs-nat:多目标的DNAT, 通过将请求报文中的目标地址和目标端口修改为挑选出的某RS的RIP和PORT 实现转发。 (1) RIP和DIP必须在同一IP网络,且应该使用私有地址,RS的网络要指向DIP(保证响应报文必须由VS); (2) 请求报文和响应报文都经由Director转发,较…

    Linux干货 2016-12-06
  • 马哥教育网络班22期+第02周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp:复制命令,copy的简称 复制选项详解: 1、交互式复制:root用户默认添加-i参数,普通用户默认使用命令本身,root用户也想使用命令本身需在命令前增加"\" [root@bogon ~]# ls /tmp/ newfil…

    Linux干货 2016-09-02
  • sed初步认识

     ◆ sed基础概念 ◆ sed用法 一.sed 基础概念: Stream EDitor (流/行编辑器) sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕…

    2017-03-16
  • 一键获取MySQL账户及相关的权限

    有时候,运维同学可能在做grant授权时候,给的用户权限太高了,有风险。因此,我们接手服务器后有必要检查一遍用户权限。 #!/bin/bash# 一键获取MySQL账户及相关的权限 user=’root’ password=’123456′ MYSQL_CMD=’/usr/local/mysql/b…

    Linux干货 2017-05-07