ubuntu14.04下通过.frm, .MYD,.MYI文件恢复建立mysql数据库
.frm .MYD .MYI都是Mysql存儲(chǔ)數(shù)據(jù)的文件, 代表MySQL數(shù)據(jù)庫表的結(jié)構(gòu)/數(shù)據(jù)和索引文件。其中,*.frm是描述了表的結(jié)構(gòu),*.MYD保存了表的數(shù)據(jù)記錄,*.MYI則是表的索引。
恢復(fù)建立mysql數(shù)據(jù)庫時(shí),先用 sudo su 切換到root角色。
第一,要找到初始安裝mysql時(shí),數(shù)據(jù)庫存放的位置。通過指令 cd /etc/mysql 切換到mysql目錄下,然后用 vim my.cnf? 打開my.cnf文件,查找datadir,例如datadir? = /var/lib/mysql,則數(shù)據(jù)庫文件就保存在 /var/lib/mysql 目錄下。
第二,通過 mkdir /var/lib/mysql/dbname 建立名為 dbname 數(shù)據(jù)庫,然后通過cp -r 源目錄/* /var/lib/mysql/dbname將.frm ? .MYD ?? .MYI(可能還有.opt文件)拷貝到dbname目錄下。打開phpmyadmin后,就會(huì)發(fā)現(xiàn)多了一個(gè)名為dbname的數(shù)據(jù)庫。這樣,數(shù)據(jù)庫就建立完成了。
但是,當(dāng)你點(diǎn)擊數(shù)據(jù)庫中的表時(shí),可能會(huì)出現(xiàn) Can't find file: '/xxx.frm'(errno:13)。出現(xiàn)這個(gè)問題的原因不是'/xxx.frm'這個(gè)文件不見了,而是這些文件的權(quán)限(應(yīng)該要是mysql)不知道為什么變成了root。
解決方法:cd到xxx.frm文件所在目錄下,執(zhí)行一下命令:chown mysql.mysql * 將所有文件的權(quán)限都改過來就可以了!如cd /var/lib/mysql/dbname, 然后執(zhí)行命令:chown mysql.mysql *
再次打開phpmyadmin,就會(huì)發(fā)現(xiàn)數(shù)據(jù)庫中的表已經(jīng)可以查看并進(jìn)行操作了。
總結(jié)
以上是生活随笔為你收集整理的ubuntu14.04下通过.frm, .MYD,.MYI文件恢复建立mysql数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一上来,就问原理,问上亿(MySQL)大
- 下一篇: 国产数据库 OceanBase 二次刷榜