日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql还原数据库后日期显示3000_mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法...

發(fā)布時間:2024/10/8 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql还原数据库后日期显示3000_mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

補充:正常情況下,建議數(shù)據(jù)庫備份最好用工具進行備份,通過拷貝數(shù)據(jù)庫表進行數(shù)據(jù)遷移,不同的環(huán)境會出現(xiàn)各種不同的意外問題。

背景:今天在整理一個網(wǎng)站的時候,操作系統(tǒng)由于系統(tǒng)自動更新導致一直出現(xiàn)系統(tǒng)藍屏死機,唉,悲劇了,于是重新安裝了系統(tǒng) windows server 2008 enterprise 32bit。

詳情:

系統(tǒng)安裝完成后,重新配置之前那個網(wǎng)站,appache服務配好之后,再配置數(shù)據(jù)的時候是這樣做的,將原來Mysql 文件夾(C:\Windows.old\ProgramData\MySQL\MySQL Server 5.1\data)下的數(shù)據(jù)庫文件夾及"*.frm"

拷貝到新安裝的myql數(shù)據(jù)庫文件夾下面(C:\ProgramData\MySQL\MySQL Server 5.1\data),重啟mysql服務,通過使用navicate for mysql 工具查看數(shù)據(jù)庫 “xxdatabase”中某張表,結果顯示“ mysql table 'xxtable' doesn`t exist ”,

這個可把我給急壞了,心想這下可玩大了,網(wǎng)站的數(shù)據(jù)要是出問題了,領導還不把我給燒烤了啊。

于是我就google 啊,百度啊,bing啊,stackoverflow啊等幾大常用的搜索全用上了,搜索出來的答案全部都不能解決問題啊,一不留神時間到了該吃飯的點了,唉,心想先吃飽飯,然后在思考更有思路,哈哈。于是回去猛吃了一頓,可把我給撐的啊,廢話少說,回來后又找啊找啊,結果還是沒能找到合適解決方案,于是認真查看了下mysql 的data文件加下的文件,發(fā)現(xiàn)了WIN-4FA0WLP5F0V.err和WIN-4FA0WLP5F0V.pid 兩個文件,于是看了具體的錯誤內(nèi)容如下

感覺應該是數(shù)據(jù)庫引擎配置的問題,于是搜索了有關InnoDB 和MyISAM的相關資料,如下這段內(nèi)容很有意義

以表”Table”為例:

如類型是MyISAM, 數(shù)據(jù)文件則以”Table.frm””Table.MYD””Table.MYI””三個文件存儲于”/data/$databasename/”目錄中.

如類型是InnoDB, 數(shù)據(jù)文件則存儲在”$innodb_data_home_dir/″中的ibdata1文件中(一般情況),結構文件存在于table_name.frm中.

MySQL的數(shù)據(jù)庫文件直接復制便可以使用,但是那是指“MyISAM”類型的表。

而使用MySQL-Front直接創(chuàng)建表,默認是“InnoDB”類型,這種類型的一個表在磁盤上只對應一個“*.frm”文件,不像MyISAM那樣還“*.MYD,*.MYI”文件。

MyISAM類型的表直接拷到另一個數(shù)據(jù)庫就可以直接使用,但是InnoDB類型的表卻不行。解決方法就是:

同時拷貝innodb數(shù)據(jù)庫表“*.frm”文件和innodb數(shù)據(jù)“ibdata1”文件到合適的位置。啟動MySQL的Windows服務

由于MySQL這樣數(shù)據(jù)混雜的形式, 往往很容易讓使用者在備份時忘記了備份InnoDB, 從而導致了上述錯誤.

意思就是說在數(shù)據(jù)庫引擎類型為InnoDB時,拷貝數(shù)據(jù)文件的同時還需要拷貝ibdata1,于是把ibdata1也拷貝過去覆蓋,發(fā)現(xiàn)還是有點問題,于是停止mysql服務,將目錄下的ib_logfile*文件全部刪除掉,重新啟動mysql服務,well done,可以了

高興啊,于是稍微總結了,希望以后遇到相同的問題,能夠快速解決。

1,在進行mysql數(shù)據(jù)庫備份的或遷移的時候,盡量備份完成所需要的數(shù)據(jù);

2,如果直接拷貝原有數(shù)據(jù)庫文件"*.frm"、"*.MYD"、"*.MYI"等文件時候,如果原數(shù)據(jù)庫引擎是InnoDB,切記還需拷貝ibdata1文件

3,備份數(shù)據(jù)庫的時候,最好是用相關的工具進行備份或是導出sql文件,以免浪費時間在數(shù)據(jù)庫恢復上

4,msyql版本或是備份工具的版本不同,也可能引起數(shù)據(jù)恢復有問題。

實踐證明以上問題是存在的,解決方案是可行的,哈哈,為了以后方便,寫了這篇博客隨筆,希望大??吹搅瞬灰梢?#xff0c;歡迎拍磚。

1:MyISAM類型的數(shù)據(jù)文件可以在不同操作系統(tǒng)中COPY,這點很重要,布署的時候方便點。(只需要拷貝 數(shù)據(jù)庫名字文件夾下面的文件,這樣數(shù)據(jù)庫就拷貝完了)

2:? InnoDB類型的 要注意多拷貝 ibdata1 , 最好不要是直接復制文件夾,而是應該用sql導入導出

總結

以上是生活随笔為你收集整理的mysql还原数据库后日期显示3000_mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。