2008/10/2 木曜日

php myadmin エラー

Filed under: 未分類 — admin @ 15:05:31

 phpMyAdminで作業していて「PMA Database … OK ではありません。」というエラーに出くわした。
放っておいても特に問題ないようだが、気になるので対応方法を探してみた。

PMA Database[G]でグーグルするとたくさん引っかかってくる。
それだけ多くの人たちがこのエラーに遭遇しているということ。
そのなかで真っ先に出てくるのがXREA.COMの掲示板の記事
基本的にはここで書かれていることを実行すれば解決するはずだが、MySQLのバージョンが違うとSQLエラーで先に進めない。

とりあえずエラー表示をなくするだけなら以下の方法が手っ取り早い。
config.inc.php で、

$cfg[PmaNoRelation_DisableWarning’] = TRUE;

根本的な解決をするには上記ページにあるように「phpmyadmin」という名前のデータベースを作ることになる。
手元のマシン(CentOS4.4)ではMySQLのバージョンが「4.1.20」となっている。
まず、phpMyAdminにて「phpmyadmin」というデータベースを作成する。
データベースphpmyadminを選択後、SQLタブをクリックしてそこの入力欄に以下を貼り付けて実行する。

CREATE TABLE `pma_bookmark` (
`id` int(11) NOT NULL auto_increment,
`dbase` varchar(255) NOT NULL default ”,
`user` varchar(255) NOT NULL default ”,
`label` varchar(255) NOT NULL default ”,
`query` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT=’Bookmarks’;

CREATE TABLE `pma_column_info` (
`id` int(5) unsigned NOT NULL auto_increment,
`db_name` varchar(64) NOT NULL default ”,
`table_name` varchar(64) NOT NULL default ”,
`column_name` varchar(64) NOT NULL default ”,
`comment` varchar(255) NOT NULL default ”,
`mimetype` varchar(255) NOT NULL default ”,
`transformation` varchar(255) NOT NULL default ”,
`transformation_options` varchar(255) NOT NULL default ”,
PRIMARY KEY (`id`),
UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
) TYPE=MyISAM COMMENT=’Column information for phpMyAdmin’;

CREATE TABLE `pma_history` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`username` varchar(64) NOT NULL default ”,
`db` varchar(64) NOT NULL default ”,
`table` varchar(64) NOT NULL default ”,
`timevalue` timestamp(14) NOT NULL,
`sqlquery` text NOT NULL,
PRIMARY KEY (`id`),
KEY `username` (`username`,`db`,`table`,`timevalue`)
) TYPE=MyISAM COMMENT=’SQL history for phpMyAdmin’;

CREATE TABLE `pma_pdf_pages` (
`db_name` varchar(64) NOT NULL default ”,
`page_nr` int(10) unsigned NOT NULL auto_increment,
`page_descr` varchar(50) NOT NULL default ”,
PRIMARY KEY (`page_nr`),
KEY `db_name` (`db_name`)
) TYPE=MyISAM COMMENT=’PDF relation pages for phpMyAdmin’;

CREATE TABLE `pma_relation` (
`master_db` varchar(64) NOT NULL default ”,
`master_table` varchar(64) NOT NULL default ”,
`master_field` varchar(64) NOT NULL default ”,
`foreign_db` varchar(64) NOT NULL default ”,
`foreign_table` varchar(64) NOT NULL default ”,
`foreign_field` varchar(64) NOT NULL default ”,
PRIMARY KEY (`master_db`,`master_table`,`master_field`),
KEY `foreign_field` (`foreign_db`,`foreign_table`)
) TYPE=MyISAM COMMENT=’Relation table’;

CREATE TABLE `pma_table_coords` (
`db_name` varchar(64) NOT NULL default ”,
`table_name` varchar(64) NOT NULL default ”,
`pdf_page_number` int(11) NOT NULL default ’0′,
`x` float unsigned NOT NULL default ’0′,
`y` float unsigned NOT NULL default ’0′,
PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`)
) TYPE=MyISAM COMMENT=’Table coordinates for phpMyAdmin PDF output’;

CREATE TABLE `pma_table_info` (
`db_name` varchar(64) NOT NULL default ”,
`table_name` varchar(64) NOT NULL default ”,
`display_field` varchar(64) NOT NULL default ”,
PRIMARY KEY (`db_name`,`table_name`)
) TYPE=MyISAM COMMENT=’Table information for phpMyAdmin’;

その後config.inc.phpを以下のように変更する。

$cfg[‘Servers’][$i][pmadb’]         = ‘phpmyadmin’;          // Database used for Relation, Bookmark and PDF Features
// (see scripts/create_tables.sql)
//   - leave blank for no support
//     DEFAULT: ’phpmyadmin’
$cfg[‘Servers’][$i][‘bookmarktable’] = pma_bookmark’;          // Bookmark table
//   - leave blank for no bookmark support
//     DEFAULT: ’pma_bookmark’
$cfg[‘Servers’][$i][‘relation’]      = pma_relation’;          // table to describe the relation between links (see doc)
//   - leave blank for no relation-links support
//     DEFAULT: ’pma_relation’
$cfg[‘Servers’][$i][‘table_info’]    = pma_table_info’;          // table to describe the display fields
//   - leave blank for no display fields support
//     DEFAULT: ’pma_table_info’
$cfg[‘Servers’][$i][‘table_coords’]  = pma_table_coords’;          // table to describe the tables position for the PDF schema
//   - leave blank for no PDF schema support
//     DEFAULT: ’pma_table_coords’
$cfg[‘Servers’][$i][‘pdf_pages’]     = pma_pdf_pages’;          // table to describe pages of relationpdf
//   - leave blank if you don’t want to use this
//     DEFAULT: ’pma_pdf_pages’
$cfg[‘Servers’][$i][‘column_info’]   = pma_column_info’;          // table to store column information
//   - leave blank for no column comments/mime types
//     DEFAULT: ’pma_column_info’
$cfg[‘Servers’][$i][‘history’]       = pma_history’;          // table to store SQL history
//   - leave blank for no SQL query history
//     DEFAULT: ’pma_history’

HTML convert time: 0.126 sec. Powered by WordPress ME