(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