nfs mysql_使用NFS文件夹作为mysql datadir无法启动mysql的问题?

在Windows 10环境下,使用Vagrant和VirtualBox搭建CentOS7开发环境,尝试将NFS共享文件夹/vagrant_db作为MySQL的datadir。遇到启动时错误,表现为MySQL不能正常初始化InnoDB,报错与ib_logfile0有关。通过将/var/lib/mysql的内容复制到/vagrant_db中,才能使MySQL启动。问题可能由启动环境差异引起,目前寻求允许使用NFS作为datadir且避免InnoDB问题的解决方案。
摘要由CSDN通过智能技术生成

我使用的主机是WIN10系统,搭建了一个以vagrant来控制的虚拟机作为开发环境。我的虚拟机是vbox,系统是centos7。所有需要依赖的vagrant插件全部都安装好了,包括vboxadditional vagrant-nfs vagrant-winnfs vagrant-bindfs。

主要问题如下:

我的/etc/my.cnf配置了datadir是我的vagrant NFS共享文件夹。叫/vagrant_db,权限什么的都用bindfs已经配置好了的。用户是mysql 用户组也是mysql。我的mysql.sock配置不变,仍然是/var/lib/mysql,因为我试过无数次配置到/vagrant_db都启动不了.....然后开机自动启动mysql居然可以成功.....但是数据库目录明显不是/vagrant_db。然后关闭mysql 重新开启mysql失败,报错:

2016-06-27T08:56:12.882562Z 0 [ERROR] InnoDB: Log file ./ib_logfile0 size 4096 is not a multiple of innodb_page_size

2016-06-27T08:56:12.882602Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error

2016-06-27T08:56:13.484483Z 0 [ERROR] Plugin 'InnoDB' init function returned error.

2016-06-27T08:56:13.484510Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2016-06-27T08:56:13.484516Z 0 [ERROR] Failed to initialize plugins.

2016-06-27T08:56:13.484519Z 0 [ERROR] Aborting

好吧,貌似是innodb出了问题。而且是./ib_logfile0这个文件的锅。

机智的我就把/var/lib/mysql下面的所有文件全部复制到/vagrant_db下面去。

然后果然能启动了.....

估计是某些原因开启启动的时候的环境和再次启动的环境不同导致的问题?

然后机智的我就去取消了mysqld的开机启动。然后手动启动mysql....依旧启动不了...不知道是为什么必须要以/var/lib/mysql为datadir成功启动一次然后复制文件过去/vagrant_db才能以/vagrant_db启动成功。

我去google过说是Innodb的机制的问题。

但是我现阶段的环境非常需要以NFS作为共享文件夹来作为datadir同时,我也不会多虚拟机启动去同时使用一个innodb数据库。我知道这样会触碰到innodb的锁机制。

我只需要一次启动就可以使用NFS文件夹作为datadir的方案...有没有人有解决方案?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值