欢迎阅读!

潇湘夜雨

当前位置: 主页 > 数据库 >

nfs搭建mysql的网络存储

时间:2016-11-17 17:07来源:潇湘夜雨 作者:华嵩阳 点击:
环境准备:centos6.7 用途:用作mysql的data目录的数据共享 介绍:在生产环境中为了增强数据的共享性,经常会使用到网络文件系统,这样可以减少本地磁盘的io写入,同时 也可以更方便
环境准备:centos6.7
用途:用作mysql的data目录的数据共享
介绍:在生产环境中为了增强数据的共享性,经常会使用到网络文件系统,这样可以减少本地磁盘的io写入,同时
也可以更方便的扩展存储空间。在mysql的数据存储中经常会用到nfs共享文件系统,但是nfs的共享权限的匿名用户默认是
nfsnobody,而mysql服务器一般通过mysql用户启动服务,所以当mysql的数据文件放在nfs中启动时常会报错。下面就来介绍
nfs搭建mysql的数据共享。
 
1.安装nfs服务器:
   yum  install  nfs-utils -y
2.配置nfs服务器:
先查看本机mysql用户的id号
[root@hadoop1 datatest]# id mysql
uid=500(mysql) gid=500(mysql) 组=500(mysql)
 
nfs共享目录设置:
   vim /etc/exports
  /datatest 172.18.109.192/26(rw,sync,anonuid=500,anongid=500)
  
相关参数:
rw:read-write,可读写;    注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题5  
ro:read-only,只读;  
sync:文件同时写入硬盘和内存;  
async:文件暂存于内存,而不是直接写入内存;  
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。  
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;  
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;  
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;  
anongid:匿名用户的GID值。
 
[root@hadoop1 datatest]# service nfs start
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]
[root@hadoop1 datatest]#  netstat -tnlp |grep 2049
tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::2049                     :::*                        LISTEN      -      
 
3.查看nfs服务器和客户端配置参数:
   cat /var/lib/nfs/etab  (服务端)
   cat /proc/mounts    (客户端查看挂载情况,卡住的情况必须用这个命令查看,不要用df -h)
   showmount -e 172.18.109.236 #查看nfs共享目录
Export list for hadoop1:
/datatest 172.18.109.192/26
 
 
 
4.客户端挂载测试
mount 172.18.109.236:/datatest /data
 
[root@hadoop2 ~]# mount
172.18.109.236:/datatest on /data type nfs (rw,vers=4,addr=172.18.109.236,clientaddr=172.18.109.237)
此时客户端只能读,不能在共享目录中写。而mysql服务启动需要产生pid文件和写入日志信息,此时启动mysql一般会报错。
 
5.共享目录权限
 chown mysql.mysql -R /datatest/
 
 注意:这里的权限设置一定要正确,否者会导致客户端读写文件没用权限。
 
 接下来就可以启动mysql服务,检查是否能正常启动和读取nfs的
(责任编辑:liangzh)
织梦二维码生成器
顶一下
(5)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容