How to convert the exported *.sql file from SQLite to the file which can be recognized by MySQL?
Maybe the solution is not a perfect solution, but it is easy and really works for me.
How to convert the exported *.sql file from SQLite to the file which can be recognized by MySQL?
Maybe the solution is not a perfect solution, but it is easy and really works for me.
最近碰到一些小問題, 本來都是使用PHP來幫忙解決,
但是今天利用了SQL一次解決, 讓我覺得有夠開心的想來分享一下。
描述問題
現在有三個table, 因為原始設計網站的架構不太彈性, 所使用的class寫法也很虛, 害我等自己echo語法出來慢慢比對,
啊, 一不小心就開始抱怨了起來。
三個table分別是: m_info, m_detail, 和 m_position。
當然, 這是簡化過問題且虛擬的表格。
m_info
|
m_detail
|
m_position
|
因為有些是SQL語法, 跟PHP扯不上關係, 於是我還是決定把他們給分開來這樣比較好。
1.只有備份到MySQL檔案夾裡的檔案, 而不是備份成sql檔 (2009/09/10)
由於主機發生問題, 導致只能登入後複製MySQL bin資料夾裡data的檔案,
首先要備份哪些檔?
由於MySQL因版本或其他因素導致使用資料庫引擎不同, 所以需要備份的檔案也不盡相同,
通常*.frm是結構檔, *.MYI是索引, *.MYD則是數據文件。
但是, MySQL 5以上就看不到後面兩種*.MYI和*.MYD的檔案了,
所以要備份時, 請記得備份到ib_logfile*和ibdata*這些檔案!
最後在新伺服器開啟一個相同名稱的資料庫, 將檔案複製貼上將其覆蓋後,
應該就可以成功將備份資料庫帶進新的資料庫內。
如果其中發生ERROR 1286 (42000): Unknown table engine 'InnoDB'的錯誤,
則可以先將ib_logfile*更名或刪除再試試看, 到這裡應該就完成資料庫的救援與備份。
如果你升级mysql到4.1以上版本后遇到以上问题,请先确定你的mysql client 是4.1或者更高版本.(WINDOWS下有问题你就直接跳到下面看解决方法了,因为MYSQL 在WINDOWS是client和server一起装上了的)
请使用以下两种方法之一
其一:
mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
其二:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
官方连接:
http://dev.mysql.com/doc/mysql/en/Old_client.html