全文索引與MyISAM的問題

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

版主: 版主管理群

版面規則
本區是討論關於 phpBB 3.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
進藤光
星球公民
星球公民
文章: 291
註冊時間: 2005-03-16 18:48
來自: BNW 時尚資訊網
聯繫:

全文索引與MyISAM的問題

文章 進藤光 »

我想要建立 Fulltext mysql 的索引...

圖檔

居然說全文索引只能在 MyISAM 裡面使用,怎麼會這樣?要用哪種資料表不是 phpBB 3.0 自己建立的嗎?
不知道正式版或是未來的版本會不會解決這個問題? :Orz

圖檔

該不會是做錯了什麼吧? :roll:
※架設伺服器主機:Mac mini G4-1.5GHz, 1GB RAM 三台
※架設主機作業系統:Mac OS X Server 10.4.2 Tiger
※我的上網方式:固定制 ADSL 4M/1M、3 IP
※安裝的伺服器:Apache 1.3.33 + php 4.3.11 + MySQL 5.0.19-max
※我的 phpBB2 版本:phpBB 2.0.21 UTF-8 版
※我的會議室網址: http://bbs.bnw.com.tw/conference/
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

正確來說, 是全文搜索只能在 MyISAM 的資料庫儲存引擎(Storage Engines)上使用

上述那句話應該是翻譯時的錯誤(?)
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

Re: 全文索引與MyISAM的問題

文章 心靈捕手 »

進藤光 寫:我想要建立 Fulltext mysql 的索引...

圖檔

居然說全文索引只能在 MyISAM 裡面使用,怎麼會這樣?要用哪種資料表不是 phpBB 3.0 自己建立的嗎?
不知道正式版或是未來的版本會不會解決這個問題? :Orz

圖檔

該不會是做錯了什麼吧? :roll:
如 ~倉木麻衣~ 所言, 此 '系統訊息' 是翻譯上疏失. 請見諒! :oops:

解決這個情況有兩個層面:
1. 治本 (未安裝 phpBB3 之前)

調整架站系統的 (MySQL) my.ini
#
#-----[ FIND ]-----
#

代碼: 選擇全部

default-storage-engine=INNODB
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

#default-storage-engine=INNODB
儲存後, 重新啟動 MySQL Server.

2. 治標 (已安裝 phpBB3, 而儲存引擎不是 MyISAM)

治標:
進入 phpMyAdmin 找到 phpBB3 資料庫
變更資料表 '型態'
#
#-----[ SQL ]-----
#

代碼: 選擇全部

ALTER TABLE phpbb_acl_groups ENGINE=MyISAM;
ALTER TABLE phpbb_acl_options ENGINE=MyISAM;
ALTER TABLE phpbb_acl_roles ENGINE=MyISAM;
ALTER TABLE phpbb_acl_roles_data ENGINE=MyISAM;
ALTER TABLE phpbb_acl_users ENGINE=MyISAM;
ALTER TABLE phpbb_attachments ENGINE=MyISAM;
ALTER TABLE phpbb_banlist ENGINE=MyISAM;
ALTER TABLE phpbb_bbcodes ENGINE=MyISAM;
ALTER TABLE phpbb_bookmarks ENGINE=MyISAM;
ALTER TABLE phpbb_bots ENGINE=MyISAM;
ALTER TABLE phpbb_config ENGINE=MyISAM;
ALTER TABLE phpbb_confirm ENGINE=MyISAM;
ALTER TABLE phpbb_disallow ENGINE=MyISAM;
ALTER TABLE phpbb_drafts ENGINE=MyISAM;
ALTER TABLE phpbb_extensions ENGINE=MyISAM;
ALTER TABLE phpbb_extension_groups ENGINE=MyISAM;
ALTER TABLE phpbb_forums ENGINE=MyISAM;
ALTER TABLE phpbb_forums_access ENGINE=MyISAM;
ALTER TABLE phpbb_forums_track ENGINE=MyISAM;
ALTER TABLE phpbb_forums_watch ENGINE=MyISAM;
ALTER TABLE phpbb_groups ENGINE=MyISAM;
ALTER TABLE phpbb_icons ENGINE=MyISAM;
ALTER TABLE phpbb_lang ENGINE=MyISAM;
ALTER TABLE phpbb_log ENGINE=MyISAM;
ALTER TABLE phpbb_moderator_cache ENGINE=MyISAM;
ALTER TABLE phpbb_modules ENGINE=MyISAM;
ALTER TABLE phpbb_poll_options ENGINE=MyISAM;
ALTER TABLE phpbb_poll_votes ENGINE=MyISAM;
ALTER TABLE phpbb_posts ENGINE=MyISAM;
ALTER TABLE phpbb_privmsgs ENGINE=MyISAM;
ALTER TABLE phpbb_privmsgs_folder ENGINE=MyISAM;
ALTER TABLE phpbb_privmsgs_rules ENGINE=MyISAM;
ALTER TABLE phpbb_privmsgs_to ENGINE=MyISAM;
ALTER TABLE phpbb_profile_fields ENGINE=MyISAM;
ALTER TABLE phpbb_profile_fields_data ENGINE=MyISAM;
ALTER TABLE phpbb_profile_fields_lang ENGINE=MyISAM;
ALTER TABLE phpbb_profile_lang ENGINE=MyISAM;
ALTER TABLE phpbb_ranks ENGINE=MyISAM;
ALTER TABLE phpbb_reports ENGINE=MyISAM;
ALTER TABLE phpbb_reports_reasons ENGINE=MyISAM;
ALTER TABLE phpbb_search_results ENGINE=MyISAM;
ALTER TABLE phpbb_search_wordlist ENGINE=MyISAM;
ALTER TABLE phpbb_search_wordmatch ENGINE=MyISAM;
ALTER TABLE phpbb_sessions ENGINE=MyISAM;
ALTER TABLE phpbb_sessions_keys ENGINE=MyISAM;
ALTER TABLE phpbb_sitelist ENGINE=MyISAM;
ALTER TABLE phpbb_smilies ENGINE=MyISAM;
ALTER TABLE phpbb_styles ENGINE=MyISAM;
ALTER TABLE phpbb_styles_imageset ENGINE=MyISAM;
ALTER TABLE phpbb_styles_imageset_data ENGINE=MyISAM;
ALTER TABLE phpbb_styles_template ENGINE=MyISAM;
ALTER TABLE phpbb_styles_template_data ENGINE=MyISAM;
ALTER TABLE phpbb_styles_theme ENGINE=MyISAM;
ALTER TABLE phpbb_topics ENGINE=MyISAM;
ALTER TABLE phpbb_topics_posted ENGINE=MyISAM;
ALTER TABLE phpbb_topics_track ENGINE=MyISAM;
ALTER TABLE phpbb_topics_watch ENGINE=MyISAM;
ALTER TABLE phpbb_users ENGINE=MyISAM;
ALTER TABLE phpbb_user_group ENGINE=MyISAM;
ALTER TABLE phpbb_warnings ENGINE=MyISAM;
ALTER TABLE phpbb_words ENGINE=MyISAM;
ALTER TABLE phpbb_zebra ENGINE=MyISAM;
參考連結:
http://www.phpbb.com/community/viewtopi ... 6&t=583862
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
進藤光
星球公民
星球公民
文章: 291
註冊時間: 2005-03-16 18:48
來自: BNW 時尚資訊網
聯繫:

文章 進藤光 »

沒關係,反正竹貓版的翻譯還沒有發表,所以也不算錯。 :mrgreen:

只是奇怪了,我在同一個 MySQL Server 上也有 XOOPS 啊,同樣是建立一個新的空白資料庫,XOOPS 就會自己建立 MyISAM 類型的資料表,怎麼 phpBB 卻會建成 INNODB 呢?

最近我在測試 XOOPS 新的 2.0.18,所以很清楚知道 XOOPS 會自己建立一堆 MyISAM 類型的資料表,該不會是 phpBB 3 沒有這麼做?
※架設伺服器主機:Mac mini G4-1.5GHz, 1GB RAM 三台
※架設主機作業系統:Mac OS X Server 10.4.2 Tiger
※我的上網方式:固定制 ADSL 4M/1M、3 IP
※安裝的伺服器:Apache 1.3.33 + php 4.3.11 + MySQL 5.0.19-max
※我的 phpBB2 版本:phpBB 2.0.21 UTF-8 版
※我的會議室網址: http://bbs.bnw.com.tw/conference/
richer
星球公民
星球公民
文章: 170
註冊時間: 2004-09-14 12:55
來自: 幻想的世界
聯繫:

文章 richer »

我使用的 XOOPS 是 2.2 系列的
他在建立資料表的時候會指定資料表的類型為 MyISAM
而 phpBB3 在建立資料表的時候沒有指定類型 而是使用系統的預設值
可能你系統預設為 INNODB 吧!!~~

如果要改變設定的話就依照 心靈捕手 所說的~~
DC club 對分散式運算的小小貢獻
Matiz Club
●空間商: ACSite.NET
●服務程式:Linux + LiteSpeed V5.4 + php 5.2.14 + MySQL(i) 5.0.85 + phpBB 3.0.11
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

進藤光 寫:只是奇怪了,我在同一個 MySQL Server 上也有 XOOPS 啊,同樣是建立一個新的空白資料庫,XOOPS 就會自己建立 MyISAM 類型的資料表,怎麼 phpBB 卻會建成 INNODB 呢?

最近我在測試 XOOPS 新的 2.0.18,所以很清楚知道 XOOPS 會自己建立一堆 MyISAM 類型的資料表,該不會是 phpBB 3 沒有這麼做?
會建成什麼類型的儲存引擎主要有二個地方會影響到
1.MySQL預設使用的儲存引擎
2.建立資料庫/表時所指定的儲存引擎

如果建立資料庫時沒指定使用何種引擎, 則會使用MySQL系統預設的引擎
若有指定的話, 則使用指定的引擎建立

建立資料表時若沒有指定儲存引擎, 則延用它所在的資料庫的儲存引擎
相同的, 若有指定的話, 則使用指定的引擎建立

以xoops來說(官方版本), 在建立資料表時就有指定使用MyISAM引擎了
CREATE TABLE avatar_user_link (
avatar_id mediumint(8) unsigned NOT NULL default '0',
user_id mediumint(8) unsigned NOT NULL default '0',
KEY avatar_user_id (avatar_id,user_id)
) TYPE=MyISAM;
所以即使MySQL預設是使用InnoDB, 也會使用此處所指定的MyISAM當作資料表的儲存引擎

因此, 你應該先確認一下自己主機上的MySQL預設採用的引擎為何
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
進藤光
星球公民
星球公民
文章: 291
註冊時間: 2005-03-16 18:48
來自: BNW 時尚資訊網
聯繫:

文章 進藤光 »

MySQL 預設的 Storage engine 是 MyISAM 類型,當然也能改成 InnoDB,MySQL 說 InnoDB 比較好,有人則是說 MyISAM 比較快,細節我就不是很清楚了,沒有看過實際的測試數據。

不過,如果 phpBB 3 認為那些資料表必須用 MyISAM 的話,為什麼不在建立的時候就強制設定為 MyISAM 呢? :roll:
不管 MySQL 的設定值是什麼,就直接建立表格,之後說不能正常運作,這樣好像不太嚴謹... :mrgreen:

我的 MySQL 是設定在 InnoDB,並不覺得 InnoDB 跑起來會很慢啊,為了 phpBB 3 只好改回 MyISAM,如果 phpBB 認為 MyISAM 比較好,建議官方還是改一下,建議資料表的時候就強制指定類型,免得大家用的不太一樣... :mrgreen:
※架設伺服器主機:Mac mini G4-1.5GHz, 1GB RAM 三台
※架設主機作業系統:Mac OS X Server 10.4.2 Tiger
※我的上網方式:固定制 ADSL 4M/1M、3 IP
※安裝的伺服器:Apache 1.3.33 + php 4.3.11 + MySQL 5.0.19-max
※我的 phpBB2 版本:phpBB 2.0.21 UTF-8 版
※我的會議室網址: http://bbs.bnw.com.tw/conference/
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

進藤光 寫:沒關係,反正竹貓版的翻譯還沒有發表,所以也不算錯。 :mrgreen:
如果 '竹貓版的翻譯還沒有發表',
那麼請問, 您之前遇到的 '系統訊息' 是哪來的? :-?
進藤光 寫: MySQL 預設的 Storage engine 是 MyISAM 類型,當然也能改成 InnoDB,MySQL 說 InnoDB 比較好,有人則是說 MyISAM 比較快,細節我就不是很清楚了,沒有看過實際的測試數據。

不過,如果 phpBB 3 認為那些資料表必須用 MyISAM 的話,為什麼不在建立的時候就強制設定為 MyISAM 呢?
不管 MySQL 的設定值是什麼,就直接建立表格,之後說不能正常運作,這樣好像不太嚴謹...

我的 MySQL 是設定在 InnoDB,並不覺得 InnoDB 跑起來會很慢啊,為了 phpBB 3 只好改回 MyISAM,如果 phpBB 認為 MyISAM 比較好,建議官方還是改一下,建議資料表的時候就強制指定類型,免得大家用的不太一樣...
phpBB3 預設的搜尋系統是 'Fulltext native' 這是 phpbb 自己的全文檢索功能;
而另一個搜尋系統是 'Fulltext mysql' 則是 MySQL 的全文檢索功能.

然而, MySQL 的全文搜索只能在 MyISAM 的儲存引擎 (Storage Engines) 上使用.
這個限制與 phpBB3 無關!
http://dev.mysql.com/doc/refman/4.1/en/ ... earch.html
http://dev.mysql.com/doc/refman/5.0/en/ ... earch.html

請問您, 有需要建議官方 '強制指定類型' 嗎? :-?
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
進藤光
星球公民
星球公民
文章: 291
註冊時間: 2005-03-16 18:48
來自: BNW 時尚資訊網
聯繫:

文章 進藤光 »

心靈捕手 寫:如果 '竹貓版的翻譯還沒有發表',
那麼請問, 您之前遇到的 '系統訊息' 是哪來的? :-?
當然是去這裡【ㄎㄧㄤ】來的... XD :mrgreen:

http://phpbb-tw.net/phpbb/viewtopic.php?t=49960

我說的是 phpBB 3 正式版,現在的 Gold 好像不是 Final 正式版的樣子?
可能要等到竹貓把討論區全部轉移到 phpBB 3 才算正式版吧? :-P

雖然是 MySQL 的錯(老實說 MySQL 的錯可多著),不過既然只能在 MyISAM 類型上運作,為什麼那個資料表不強制宣告 MyISAM 類別呢? :roll:
我並沒有非要用 InnoDB 的意思,反正 XOOPS 不管你設在哪,一律用 MyISAM,我只是建議既然 MySQL 5 都有這種問題,InnoDB 也沒有比較好,為什麼 phpBB 3 不乾脆都採用 MyISAM 類別?

我沒有別的意思,只是希望安裝、使用順利而已。
※架設伺服器主機:Mac mini G4-1.5GHz, 1GB RAM 三台
※架設主機作業系統:Mac OS X Server 10.4.2 Tiger
※我的上網方式:固定制 ADSL 4M/1M、3 IP
※安裝的伺服器:Apache 1.3.33 + php 4.3.11 + MySQL 5.0.19-max
※我的 phpBB2 版本:phpBB 2.0.21 UTF-8 版
※我的會議室網址: http://bbs.bnw.com.tw/conference/
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

進藤光 寫:
心靈捕手 寫:如果 '竹貓版的翻譯還沒有發表',
那麼請問, 您之前遇到的 '系統訊息' 是哪來的? :-?
當然是去這裡【ㄎㄧㄤ】來的... XD :mrgreen:

http://phpbb-tw.net/phpbb/viewtopic.php?t=49960

我說的是 phpBB 3 正式版,現在的 Gold 好像不是 Final 正式版的樣子?
可能要等到竹貓把討論區全部轉移到 phpBB 3 才算正式版吧? :-P

雖然是 MySQL 的錯(老實說 MySQL 的錯可多著),不過既然只能在 MyISAM 類型上運作,為什麼那個資料表不強制宣告 MyISAM 類別呢? :roll:
我並沒有非要用 InnoDB 的意思,反正 XOOPS 不管你設在哪,一律用 MyISAM,我只是建議既然 MySQL 5 都有這種問題,InnoDB 也沒有比較好,為什麼 phpBB 3 不乾脆都採用 MyISAM 類別?

我沒有別的意思,只是希望安裝、使用順利而已。
我想還是有必要糾正您的觀念:
1. 如果 '竹貓版的翻譯還沒有發表' 那麼您如何 '去這裡【ㄎㄧㄤ】' 呢?

即使尚未上傳至 phpBB 官方, 只是出現在這裡, 或者是測試站台,
都應該算是已發表之 '竹貓版的翻譯'.

2. 這種限制不代表 '是 MySQL 的錯'.

再說, phpBB3 可以適用各種資料庫類型 (MySQL, Oracle, MSSQL, PostgreSQ 等),
而除了使用 MySQL 有機會用到 'Fulltext mysql' 之外, 其餘是無法使用的.

ps.
抱歉! 鎖定.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「[3.0.x] 安裝與使用」