[PHP] Mediawiki 1.8.2 설치 오류 해결 방법

PHP 5.2.0, MySQL 5.0 사양에서 MediaWiki 1.8.2 를 설치하여 사용할 때, 인스톨 도중 Database가 제대로 생성되지 않으면서 오류가 나는 경우가 있습니다.

Creating tables… using MySQL 4 table defs…Query “CREATE TABLE`tw_user` ( user_id int(5) unsigned NOT NULL auto_increment, user_namevarchar(255) binary NOT NULL default ”, user_real_name varchar(255)binary NOT NULL default ”, user_password tinyblob NOT NULL default ”,user_newpassword tinyblob NOT NULL default ”, user_email tinytext NOTNULL default ”, user_options blob NOT NULL default ”, user_touchedchar(14) binary NOT NULL default ”, user_token char(32) binary NOTNULL default ”, user_email_authenticated char(14) binary,user_email_token char(32) binary, user_email_token_expires char(14)binary, user_registration char(14) binary, PRIMARY KEY user_id(user_id), UNIQUE INDEX user_name (user_name), INDEX (user_email_token)) TYPE=InnoDB ” failed with error code “BLOB/TEXT column’user_password’ can’t have a default value (localhost)”

이 경우 저는 소스에서 이와 관련된 코드들을 아래와 같이 변경하여 인스톨 하였더니 제대로 작동되더군요. 관련된 글이 http://www.mediawiki.org/wiki/Project:Support_desk 에 있었는데, 현재는 삭제되었습니다.

I tried to install mw 1.8.2 on apache 2.2.3, php5.2 and mysql 5.0.26. No problem until mediawiki initial setup, as it gave me this response:

   * Creating tables… using MySQL 4 table defs…Query “CREATE TABLE `user` ( user_id int(5) unsigned NOT NULL auto_increment, user_name varchar(255) binary NOT NULL default , user_real_name varchar(255) binary NOT NULL default , user_password tinyblob NOT NULL default , user_newpassword tinyblob NOT NULL default , user_email tinytext NOT NULL default , user_options blob NOT NULL default , user_touched char(14) binary NOT NULL default , user_token char(32) binary NOT NULL default , user_email_authenticated CHAR(14) BINARY, user_email_token CHAR(32) BINARY, user_email_token_expires CHAR(14) BINARY, user_registration CHAR(14) BINARY, PRIMARY KEY user_id (user_id), UNIQUE INDEX user_name (user_name), INDEX (user_email_token) ) TYPE=InnoDB ” failed with error code “BLOB/TEXT column ‘user_password’ can’t have a default value (localhost)”

I tried everything to solve it, and at last I found the solution link here. In other words these were the changes to be made:

   * \maintenance\mysql5\tables.sql

tinyblob NOT NULL default -> tinyblob NOT NULL

mediumblob NOT NULL default -> mediumblob NOT NULL

blob NOT NULL default -> blob NOT NULL

mediumtext NOT NULL default -> mediumtext NOT NULL

tinytext NOT NULL default -> mediumtext NOT NULL

fa_description tinyblob default -> fa_description tinyblob

UNIQUE INDEX ipb_address (ipb_address(255), ipb_user, ipb_auto, ipb_anon_only), -> UNIQUE INDEX ipb_address (ipb_address(40), ipb_user, ipb_auto, ipb_anon_only),

   * \maintenance\archives\patch-log_params.sql

log_params blob NOT NULL default ; -> log_params blob NOT NULL;

   * \maintenance\archives\patch-filearchive.sql

fa_description tinyblob default , -> fa_description tinyblob,

   * \maintenance\archives\patch-logging.sql

log_params blob NOT NULL default , -> log_params blob NOT NULL,

It seems like a mediawiki 1.8.2 bug, isn’t it?

Thanks to ThatRickyGuy and taatuut I hope this would be useful to someone.

Chrisp 01:29, 30 October 2006 (UTC)

아래는 변경한 소스입니다. 여하튼 Mediawiki가 제대로 설치되지 않는 분들은 참고하세요. ^^

1256025465.tgz

블로그 Open

제 개인 블로그를 시작합니다. Naver, egloos 등 다른 여러 서비스들을 생각해 보았지만, 역시 제가 개인적으로 관리할 수 있는 블로그가 제일 편한 것 같더군요.

앞으로 천리안 계정에는 태터툴즈 블로그, 자료 다운로드(10메가 넘어가는 파일 지원되는 곳이 여기밖에 없음) 등등을 세팅하여 사용할 예정입니다.

highworship.net 에서는 찬양 인도자 네트워크인 High Worship 서비스를 시작할 생각입니다. 저작권 문제가 있어 어디까지 버틸 수 있을런지는 잘 모르겠지만, 뭐 할 수 있는 만큼은 해 볼 생각입니다. 사이트를 지나치게 홍보할 생각도 없고, 아는 지인들에게 우선적으로 공개하여 사용할 예정입니다.

천리안에 입주시킨 이 블로그는.. 아직 정확한 용도는 정하지 않았지만 제 개인적인 포스팅들, 신변 잡기, 기타 ordinary 하지 않은 자료들을 올리는 것이 나을 것 같습니다.

그럼…^^