Хорошо отдаю себе отчет в том, что почти все читающие мою ленту друзья мало того что не имеют дело с PHP, так и вообще в принципе с программированием не связаны (единственное исключение -
yurasik и
abravorus). Однако по роду своей деятельности приходится сталкиваться с такими фантастическими вещами, что это достойно моего дневничка (хе-хе), и в "личное" я прятать подобное не решаюсь, т.к. вполне возможно - случайному прохожему это поможет не наступить на те же грабли. Итак, друзья, кому это все пофигу, просто игнорьте посты, которые будут впредь затегированы подобным образом: "php, mysql, программизм, администрирование".
Как-то попалась мне на глаза интересная фича - к PHPMyAdmin (PMA), дескать, можно прикрутить визуальный редактор. Я как-то не придал особого значения этому курьезу (как мне тогда показалось), ибо PMA - кондовый, проверенный временем суперский инструмент администрирования MySQL-баз. В общем, привыкли мы все делать руками. Однако успешно заюзав виндузовый софт типа Navicat (ура-ура, мне теперь не надо в голове придумывать 13-этажные SQL-конструкции по объединению таблиц в запросе), я подумал, а почему, собственно не докрутить и PMA?
Наткнувшись на
суперпост и немного помучавшись, я заставил это чудо работать у себя на локальной машине под виндой.
Экспериментальным путем выяснилось, что надо устанавливать специальную версию phpMyAdmin-trunk-latest. Потестировав, решился проапгрейдить и серверный софт. И вот-тут то я сел в лужу. Причем, проделывал вроде бы все те же операции, а софт не пожелал работать по-новому, ни в какую. Дальше последовали двухчасовые классические пляски с бубном. Пересоздавался пользователь БД, сама база, проверялся конфиг. Нифига. И тут, уже от отчаяния, я перегенерил юзеру, обслуживающему данный компонент, пароль - и, о чудо, - все заработало. Шампанского!!!
Основную канву перебью - себе на долгую память и другим в назидание.
1. Выполнить в мускуле запросы из дампов create_tables.sql и source upgrade_tables_mysql_4_1_2+.sql
2. Выполнить
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
затем
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
3. В конфиге PMA прописать:
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass'; // сменить
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
4. Пароль в конфиге и привилегиях БД сменить вручную.
Теперь можно вытворять всякие страшные вещи,
типа такого. Таким образом, порабощение мира не за горами!