vagrant - 使用NFS文件夾作為mysql datadir無法啟動(dòng)mysql的問題?
問題描述
我使用的主機(jī)是WIN10系統(tǒng),搭建了一個(gè)以vagrant來控制的虛擬機(jī)作為開發(fā)環(huán)境。我的虛擬機(jī)是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,因?yàn)槲以囘^無數(shù)次配置到/vagrant_db都啟動(dòng)不了.....然后開機(jī)自動(dòng)啟動(dòng)mysql居然可以成功.....但是數(shù)據(jù)庫目錄明顯不是/vagrant_db。然后關(guān)閉mysql 重新開啟mysql失敗,報(bào)錯(cuò):
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這個(gè)文件的鍋。機(jī)智的我就把/var/lib/mysql下面的所有文件全部復(fù)制到/vagrant_db下面去。然后果然能啟動(dòng)了.....估計(jì)是某些原因開啟啟動(dòng)的時(shí)候的環(huán)境和再次啟動(dòng)的環(huán)境不同導(dǎo)致的問題?然后機(jī)智的我就去取消了mysqld的開機(jī)啟動(dòng)。然后手動(dòng)啟動(dòng)mysql....依舊啟動(dòng)不了...不知道是為什么必須要以/var/lib/mysql為datadir成功啟動(dòng)一次然后復(fù)制文件過去/vagrant_db才能以/vagrant_db啟動(dòng)成功。我去google過說是Innodb的機(jī)制的問題。但是我現(xiàn)階段的環(huán)境非常需要以NFS作為共享文件夾來作為datadir同時(shí),我也不會(huì)多虛擬機(jī)啟動(dòng)去同時(shí)使用一個(gè)innodb數(shù)據(jù)庫。我知道這樣會(huì)觸碰到innodb的鎖機(jī)制。我只需要一次啟動(dòng)就可以使用NFS文件夾作為datadir的方案...有沒有人有解決方案?
問題解答
回答1:最近正好剛移動(dòng)過數(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)移動(dòng)目錄是掛載目錄比如vagrant sync folder時(shí),無法改變用戶組,mysqld啟動(dòng)不了...你是怎么做到的
相關(guān)文章:
1. python2.7 - python 正則前瞻 后瞻 無法匹配到正確的內(nèi)容2. python - 請問這兩個(gè)地方是為什么呢?3. python - 如何使用websocket在網(wǎng)頁上動(dòng)態(tài)示實(shí)時(shí)數(shù)據(jù)的折線圖?4. java - Mybatis 數(shù)據(jù)庫多表關(guān)聯(lián)分頁的問題5. mysql如何根據(jù)各自條件批量更新6. 急急急!!!求大神解答網(wǎng)站評論問題,有大神幫幫小弟嗎7. mysql - Sql union 操作8. Python處理Dict生成json9. javascript - 按鈕鏈接到另一個(gè)網(wǎng)址 怎么通過百度統(tǒng)計(jì)計(jì)算按鈕的點(diǎn)擊數(shù)量10. (python)關(guān)于如何做到按win+R再輸入文件文件名就可以運(yùn)行?
