[問題] 資料庫還原後資出現 Critical Error

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

[問題] 資料庫還原後資出現 Critical Error

文章 Loki »

同樣是用phpMyAdmin做備份\r
用script來還原

但還原後出現下列訊息\r

phpBB : Critical Error

Error doing DB query userdata row fetch

DEBUG MODE

SQL Error : 1146 Table 'macforum.phpbb_users' doesn't exist

SELECT u.*, s.* FROM phpbb_sessions s, phpbb_users u WHERE s.session_id = 'f3c393aaec1467cc9731b99f528b2b94' AND u.user_id = s.session_user_id

Line : 247
File : /home/macforum/www/includes/sessions.php


而資料庫是也少了三個資料表\r
很怪\r
看不出是哪裡出問題
若不是備份檔本身的問題的話會是什麼呢?
最後由 Loki 於 2005-02-17 15:15 編輯,總共編輯了 2 次。
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
baboo
星球公民
星球公民
文章: 79
註冊時間: 2004-02-11 10:23

文章 baboo »

看來是沒完全還原下來....
是不是資料太多超過 php 的最大允許記憶體大小?

試試手動用 mysql 來還原吧...

shell admin#> mysql -uroot -p密碼
\r
mysql> drop database 資料庫名; //先移除舊的資料庫\r
mysql> create database 資料庫名; // 再建立新的資料庫\r
mysql> exit;

shell admin#> mysql -uroot -p密碼 資料庫名< 備份檔位置/備份檔檔名 // 還原
就可以了...
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

文章 Loki »

baboo 寫:看來是沒完全還原下來....
是不是資料太多超過 php 的最大允許記憶體大小?

試試手動用 mysql 來還原吧...

shell admin#> mysql -uroot -p密碼

mysql> drop database 資料庫名; //先移除舊的資料庫\r
mysql> create database 資料庫名; // 再建立新的資料庫\r
mysql> exit;

shell admin#> mysql -uroot -p密碼 資料庫名< 備份檔位置/備份檔檔名 // 還原
就可以了...
執行最後一行指令出現\r
ERROR 1064 at line 100: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'category 1, '10')' at line 1

是指MySQL 版本不對嗎?
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

文章 Loki »

喔喔
沒問題了
剛才沒仔細看清楚訊息\r

照它的意思是要改這一行
INSERT INTO `phpbb_categories` VALUES ('1', Test category 1, '10');
不過我照它的改還是不行
正確的改法是?
而且我也看不出哪裡有錯
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
baboo
星球公民
星球公民
文章: 79
註冊時間: 2004-02-11 10:23

文章 baboo »

INSERT INTO `phpbb_categories` VALUES ('1', Test category 1, '10');
應該為
INSERT INTO `phpbb_categories` VALUES ('1', 'Test category 1', '10');

不過你原來是用什麼備份的? 怎麼會有這種問題? :-o
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

文章 Loki »

好像每幾行就會出現錯誤的樣子
應該是在用phpMyAdmin少勾了選項
現在只能用較早的備份還原了

剛才試用較早的備份用上述的指令是沒有問題
問題應該就是出現備份了
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
baboo
星球公民
星球公民
文章: 79
註冊時間: 2004-02-11 10:23

文章 baboo »

既然有mysql + shell access, 建議你以後用 mysql 直接備份最簡單...

shell admin#> mysql -uroot -p密碼 資料庫名> 備份檔位置/備份檔檔名

簡單吧? :)
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

文章 Loki »

baboo 寫:既然有mysql + shell access, 建議你以後用 mysql 直接備份最簡單...

shell admin#> mysql -uroot -p密碼 資料庫名> 備份檔位置/備份檔檔名

簡單吧? :)
真的是很方便 :-D
不過我想再請教一下
用這方法是否能解決MySQL 4.1中語系校對的問題
因為之前曾將4.0換成4.1
結果資料庫內容變成亂碼\r
語系校對自動改成瑞典語
一直讓我很頭痛
4.0好像沒有語系校對這個東西
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
baboo
星球公民
星球公民
文章: 79
註冊時間: 2004-02-11 10:23

文章 baboo »

4.11 版之後可以用這個...

mysql> alter database 資料庫名 default character set big5 collate big5_chinese_ci;

我4.02... 沒試過... :p

或mysqld 開始的時候設定...
shell admin#> mysqld --default-character-set=big5 --default-collation=big5_chinese_ci
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

文章 Loki »

baboo 寫:4.11 版之後可以用這個...

mysql> alter database 資料庫名 default character set big5 collate big5_chinese_ci;

我4.02... 沒試過... :p

或mysqld 開始的時候設定...
shell admin#> mysqld --default-character-set=big5 --default-collation=big5_chinese_ci
想再請教一下utf8格式
因為的我論壇有做utf8
之前換成MySQL 4.1版本時
在phpMyAdmin會多出一個對校的選項
其中光是utf8就有好幾種\r
用了其中的ut8_genera_ci、utf8_uniocde_ci等都會有亂碼產生
印象中用ut8_genera_ci好像會好很多
但是還是有部分字元為亂碼\r
所以又換回了4.0
那又該如何解決呢?
謝謝
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
baboo
星球公民
星球公民
文章: 79
註冊時間: 2004-02-11 10:23

文章 baboo »

utf8_general_ci 是default 的....

4.0.x 也可以用 mysqld 來設定 default character.
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

文章 Loki »

baboo 寫:utf8_general_ci 是default 的....

4.0.x 也可以用 mysqld 來設定 default character.
嗯\r
那我大概了解\r
不過亂碼的問題要如何解決呢?
一直很想找出辦法
因為不管在4.1.X中的資料庫如何地設定character
都有亂碼的出現
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
baboo
星球公民
星球公民
文章: 79
註冊時間: 2004-02-11 10:23

文章 baboo »

嗯.... 這個嗎... 就不知道了...
得問問比較有經驗的前輩了... :p

不過... 是什麼樣的亂碼啊?


還有, 有試過 utf8_bin 的 collation 嗎?
Loki
星球公民
星球公民
文章: 54
註冊時間: 2004-02-12 02:21

文章 Loki »

baboo 寫:嗯.... 這個嗎... 就不知道了...
得問問比較有經驗的前輩了... :p

不過... 是什麼樣的亂碼啊?


還有, 有試過 utf8_bin 的 collation 嗎?
剛才找一台有安裝MySQL 4.1.7試試看
也利用alter設定為utf8_general_ci
用phpMyAdmin查看發現有少部份亂碼\r
圖檔
若是用utf8_bin則是完全看不懂了
請問有什麼方法可以解決嗎?
我是點怕說以後若有情況要換成MySQL 4.1的話要如何處理
謝謝
●架設主機作業系統:FreeBSD 6.0-Release
●我安裝的程式:Apache 2.0.55 + PHP 4.4.1 + MySQL 4.1.15
●上網方式:學術網路
●我的 phpBB2 版本:phpBB 2.0.18
●我的網域:loki.ind.ntou.edu.tw
●我的 phpBB2 連結網址: http://loki.ind.ntou.edu.tw/~mac/forum/
hi3b
星球普通子民
星球普通子民
文章: 12
註冊時間: 2005-01-20 21:45

文章 hi3b »

Loki 寫:
baboo 寫: 還有, 有試過 utf8_bin 的 collation 嗎?
剛才找一台有安裝MySQL 4.1.7試試看
也利用alter設定為utf8_general_ci
用phpMyAdmin查看發現有少部份亂碼\r
若是用utf8_bin則是完全看不懂了
請問有什麼方法可以解決嗎?
我在一個 MySQL 4.1.8 的主機上掛的網頁 ....
一開始也是被整瘋了, 最後暫時把資料全用 Big5 的格式存了.
當然, 因為 phpMyAdmin 的網頁中 meta 的 charset 是被設為 utf-8 的
所以, 我能讀到的資料是 Binary 的亂碼 ...
除非, 把 browser 的字碼改為 big5 才能讀資料格內的文字
(當然這時的 phpMyAdmin 的中文是 utf-8 格式會成為亂碼\r
所以我就乾脆用 英文畫面的 phpMyAdmin 選 繁中 來看資料了 ...

後來, 把資料改為 utf8 送進 MySQL ...
如果, collaction 是瑞士語的 utr8, 那資料送到網頁就會全是 ???????

一直試到用 Binary 做為 collation, 就都能正常的送出到 網頁了.
當然, 用 phpMyAdmin 看的 MySQL 中的資料都是正常的 utf-8 中文

存入資料時, 我試過用 cpanel 提供的 restore 或用 phpMyAdmin 上的
SQL,
要 restore 之前, 用 operation 把 charset 設為 Binary, 或 utf8_unicode_ci
或別的都行.

若要送 BIG5 的資料進 MySQL 4.1.8 時, 就把 Charset 與 collation
設為 Binary 或 Big5 也都行 ...

被整的好慘, 讀了 MYSQL 的一大堆資料 .... 才找到答案
http://dev.mysql.com/doc/mysql/en/chars ... arset.html
主題已鎖定

回到「phpBB 2 安裝與使用」