vagrant - 使用NFS文件夾作為mysql datadir無法啟動mysql的問題?
問題描述
我使用的主機是WIN10系統(tǒng),搭建了一個以vagrant來控制的虛擬機作為開發(fā)環(huán)境。我的虛擬機是vbox,系統(tǒng)是centos7。所有需要依賴的vagrant插件全部都安裝好了,包括vboxadditional vagrant-nfs vagrant-winnfs vagrant-bindfs。主要問題如下:我的/etc/my.cnf配置了datadir是我的vagrant NFS共享文件夾。叫/vagrant_db,權(quán)限什么的都用bindfs已經(jīng)配置好了的。用戶是mysql 用戶組也是mysql。我的mysql.sock配置不變,仍然是/var/lib/mysql,因為我試過無數(shù)次配置到/vagrant_db都啟動不了.....然后開機自動啟動mysql居然可以成功.....但是數(shù)據(jù)庫目錄明顯不是/vagrant_db。然后關(guān)閉mysql 重新開啟mysql失敗,報錯:
2016-06-27T08:56:12.882562Z 0 [ERROR] InnoDB: Log file ./ib_logfile0 size 4096 is not a multiple of innodb_page_size2016-06-27T08:56:12.882602Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error2016-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下面的所有文件全部復(fù)制到/vagrant_db下面去。然后果然能啟動了.....估計是某些原因開啟啟動的時候的環(huán)境和再次啟動的環(huán)境不同導(dǎo)致的問題?然后機智的我就去取消了mysqld的開機啟動。然后手動啟動mysql....依舊啟動不了...不知道是為什么必須要以/var/lib/mysql為datadir成功啟動一次然后復(fù)制文件過去/vagrant_db才能以/vagrant_db啟動成功。我去google過說是Innodb的機制的問題。但是我現(xiàn)階段的環(huán)境非常需要以NFS作為共享文件夾來作為datadir同時,我也不會多虛擬機啟動去同時使用一個innodb數(shù)據(jù)庫。我知道這樣會觸碰到innodb的鎖機制。我只需要一次啟動就可以使用NFS文件夾作為datadir的方案...有沒有人有解決方案?
問題解答
回答1:最近正好剛移動過數(shù)據(jù)庫目錄:
mv /var/lib/mysql/* /home/mysql/ln -s /home/mysql/mysql.sock /var/lib/mysql/mysql.sockchown -R mysql:mysql /home/mysql
但當(dāng)移動目錄是掛載目錄比如vagrant sync folder時,無法改變用戶組,mysqld啟動不了...你是怎么做到的
相關(guān)文章:
1. 關(guān)docker hub上有些鏡像的tag被標記““This image has vulnerabilities””2. android studio總是在processes running好久3. docker不顯示端口映射呢?4. macos - mac下docker如何設(shè)置代理5. MySQL數(shù)據(jù)庫中文亂碼的原因6. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數(shù)賦值輸錯誤是什么原因?7. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?8. angular.js - 關(guān)于$apply()9. docker-compose 為何找不到配置文件?10. dockerfile - 我用docker build的時候出現(xiàn)下邊問題 麻煩幫我看一下
