|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> phpmyadmin
Настройка phpmyadmin
Автор: arksu.
Как то раз зашел я на сайт разработчиков phpmyadmin - www.phpmyadmin.net, походил по ссылкам и увидел там одну хитрую фишку - Дизайнер таблиц (pma.cihar.com/trunk-config/). И решил во чтобы то ни стало ее у себя заюзать.
После получаса копания мануалов стало понятно для того чтобы ее заюзать нужно создать отдельную базу для phpmyadmin в которой она хранит свои данные:
1. добавить служебную базу данных phpmyadmin
2. исправить конфиг config.inc.php - для работы с этой БД
я не стал ставить из портов, все равно phpmyadmin - это всего лишь набор php скриптов и ничего здесь не компилится по большому счету. поэтому скачал свежую версию, на момент написания статьи это 3.1.0-rc1 да и хотелось "идти в ногу с прогрессом" (хотя уже доступна и 3.2.0 правда девелоп :)
Чтобы добавить базу - в составе phpmyadmin есть скрипты, лежат они в папке scripts каталога phpmyadmin
[root@ukgw phpmyadmin ]# cd /usr/local/www/phpmyadmin/scripts/
[root@ukgw scripts ]# ll
total 92
-rw-r--r-- 1 root wheel 1,8K 18 ноя 04:23 check_lang.php
-rwxr-xr-x 1 root wheel 400B 18 ноя 04:23 convertcfg.pl
-rwxr-xr-x 1 root wheel 7,9K 18 ноя 04:23 create-release.sh
-rw-r--r-- 1 root wheel 5,7K 18 ноя 04:23 create_tables.sql
-rw-r--r-- 1 root wheel 2,7K 18 ноя 04:23 decode_bug.php
-rwxr-xr-x 1 root wheel 1,1K 18 ноя 04:23 find_unused_messages.sh
-rwxr-xr-x 1 root wheel 2,1K 18 ноя 04:23 lang-cleanup.sh
-rwxr-xr-x 1 root wheel 392B 18 ноя 04:23 remove_control_m.sh
-rw-r--r-- 1 root wheel 1,9K 18 ноя 04:23 signon.php
-rwxr-xr-x 1 root wheel 4,9K 18 ноя 04:23 upgrade.pl
-rw-r--r-- 1 root wheel 6,0K 18 ноя 04:23 upgrade_tables_mysql_4_1_2+.sql
|
здесь нам интересно всего 2 файла
create_tables.sql - создание таблиц
upgrade_tables_mysql_4_1_2+.sql - их апгрейд под версию мускула 4.1 и выше ( я использую 5.1 - поэтому необходимо проапгрейдить )
[root@ukgw scripts ]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5212
Server version: 5.1.26-rc FreeBSD port: mysql-server-5.1.26
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> source create_tables.sql
...........................................
mysql> source upgrade_tables_mysql_4_1_2+.sql
|
база создана, по дефолту называется phpmyadmin. теперь необходимо произвести еще пару действий. вот выдержка из документации
The following example assumes you want to use pma as the controluser and pmapass as the controlpass, but this is only an example: use something else in your file! Input these statements from the phpMyAdmin SQL Query window or mysql command–line client.
Of course you have to replace localhost with the webserver's host if it's not the same as the MySQL server's one.
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';
If you want to use the many new relation and bookmark features:
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
то бишь нам нужно выполнить еще несколько запросов:
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';
| и еще один (тут подставляем имя базы phpmyadmin)
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
| осталось поправить конфиг самого phpmyadmin - чтобы он увидел базу =)
приведу свой файл config.inc.php
<?php
/* Servers configuration */
$i = 0;
/* Server localhost (config:root) [1] */
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '****';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['compress'] = false;
/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';
/* 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';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
$cfg['blowfish_secret'] = '**************';
?>
| ВСЕ! после этих нехитрых манипуляций при выборе базы появляется новая вкладка "Дизайнер" - которая судя по всему написана на AJAX и дает возможно визуально видеть связи между таблицами, а также их редактировать, генерировать полный отчет о структуре выбранной базы данных в PDF формате по всем таблицам и полной диаграммой связей (после того как показал начальству - у тех глаза на лоб полезли что такое можно делать в мускуле за который никому ниче платить не надо), также можно прямо тут создавать связи между полями таблиц...
Да и много других вкусностей можно теперь делать
размещено: 2008-11-26,
последнее обновление: 2008-11-27,
автор: arksu
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
|
Комментарии пользователей [16 шт.]