Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  frox
  SARG
  samba & ClamAV
  named
  proftpd
  cacti
  SAMBA+AD+NT ACL
  MySQL
  hylafax
  DDNS+DHCP
  cvsupd
  Samba как PDC
  Основы LDAP
  LDAP+SSL
  LDAP auth
  knockd
  rsync
  MRTG
  Rejik
  Jabber - OpenFire
  Samba(PDC) + Ldap
  squid+AD
  ATSlog
  vsftpd
  LDAP: samba, dns, dhcp
  Free-SA
  cups-samba на samba+AD
  irc + services
  Nagios - мониторинг сети
  TeamSpeak
  icecast2
  verlihub (p2p)
  Icecast2 + Darkice
  OOPS
  vsftpd + mysql
  Amanda
  HAVP
  Рыбалка на FreeBSD
  DNS сервер NSD
  DNS сервер Unbound
  mpd5, msmtp, dynamic ip
  ProFTPd + LDAP
  OpenVPN + LDAP
  Samba (PDC+BDC)
  BIND & AD
  ProFTP+PgSQL
  POWERDNS
  3proxy
  eGroupWare
  GLPI
  SugarForge CRM
  Bacula
  Mysql - базовое описание
  Asterisk IP PBX
  Samba & CUPS & AD & ACL
  SMSTools 3
  Samba+ NT ACL
  phpmyadmin
  1С:Предприятие 8.1
  PurefFTPd
  qemu network
  AimSniff
  comms/scmxx
  Zoneminder
  Openfire Jabber Server
  Zoneminder 2
  Принт-Сервер Samba+LPD & AD
  Кластер OpenLDAP 2.4
  Lightsquid
  Установка Zabbix-1.6
  Установка net2ftp
  VSFTPD + AD && MySQL
  Network UPS Tools
  mpd5 L2TP client
  Apache 2.2 as a proxy
  ejabberd+mysql+icq
  HotSpot
  Установка и использование Zenoss на FreeBSD 7.2
  mysql-proxy
  DNS zones
  squid+sams+sqstat
  transmission-daemon
  Squid+AD (group access)
  named 9.7.0
  SysAid Server
  MySQL Master+Master
  proftpd file auth&quota
  usb_modeswitch
  NSDadmin
  iperf Тест скорости между хостами
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco
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

оценить статью:




Хостинг HOST-FOOD

2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 49 чел.
За последние 30 мин было: 243 человек
За сегодня было
16113 показов,
1835 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.2577 секунд
Из них PHP: 25%; SQL: 75%; Число SQL-запросов: 88 шт.
Исходный размер: 139938; Сжатая: 23354