Настройка phpMyAdmin
Доброго времени суток. Сегодня я хочу остановиться на настройка phpMyAdmin. Так в одной из статей “Основы работы с phpMyAdmin” мы разобрались с установкой и основами работы данной утилиты. Но приходит время и хочется оптимизировать свою работу. Вот и настало время для оптимизации работы c phpMyAdmin, а для этого надо его просто настроить под себя.
И так… Настраивать наш phpMyAdmin будем через конфигурационный файл config.inc.php, который находиться в директории куда установлен сам phpMyAdmin. По умолчанию данного файла нет. Но зато есть файл config.sample.inc.php. Переименуем его в config.inc.php. Рассмотрим конфигурационный файл по умолчанию:
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * phpMyAdmin sample configuration, you can use it as base for * manual configuration. For easier setup you can use setup/ * * All directives are explained in Documentation.html and on phpMyAdmin * wiki . * * @package PhpMyAdmin */ /* * This is needed for cookie based authentication to encrypt password in * cookie */ $cfg['blowfish_secret'] = 'a8b7c6d'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ /* * Servers configuration */ $i = 0; /* * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; /* Select mysql if your server does not have mysqli */ $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = false; /* * phpMyAdmin configuration storage settings. */ /* User used to manipulate with storage */ // $cfg['Servers'][$i]['controlhost'] = ''; // $cfg['Servers'][$i]['controluser'] = 'pma'; // $cfg['Servers'][$i]['controlpass'] = 'pmapass'; /* Storage database and tables */ // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // $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]['table_uiprefs'] = 'pma_table_uiprefs'; // $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; // $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; // $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; // $cfg['Servers'][$i]['recent'] = 'pma_recent'; /* Contrib / Swekey authentication */ // $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf'; /* * End of servers configuration */ /* * Directories for saving/loading files from server */ $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; /** * Defines whether a user should be displayed a "show all (records)" * button in browse mode or not. * default = false */ //$cfg['ShowAll'] = true; /** * Number of rows displayed when browsing a result set. If the result * set contains more rows, "Previous" and "Next". * default = 30 */ //$cfg['MaxRows'] = 50; /** * Use graphically less intense menu tabs * default = false */ //$cfg['LightTabs'] = true; /** * disallow editing of binary fields * valid values are: * false allow editing * 'blob' allow editing except for BLOB fields * 'all' disallow editing * default = blob */ //$cfg['ProtectBinary'] = 'false'; /** * Default language to use, if not browser-defined or user-defined * (you find all languages in the locale folder) * uncomment the desired line: * default = 'en' */ //$cfg['DefaultLang'] = 'en'; //$cfg['DefaultLang'] = 'de'; /** * default display direction (horizontal|vertical|horizontalflipped) */ //$cfg['DefaultDisplay'] = 'vertical'; /** * How many columns should be used for table display of a database? * (a value larger than 1 results in some information being hidden) * default = 1 */ //$cfg['PropertiesNumColumns'] = 2; /** * Set to true if you want DB-based query history.If false, this utilizes * JS-routines to display query history (lost by window close) * * This requires configuration storage enabled, see above. * default = false */ //$cfg['QueryHistoryDB'] = true; /** * When using DB-based query history, how many entries should be kept? * * default = 25 */ //$cfg['QueryHistoryMax'] = 100; /* * You can find more configuration options in Documentation.html * or here: http://wiki.phpmyadmin.net/pma/Config */ ?>
Для тех у кого данного файла нет, Вы можете скачать его отсюда
Теперь давайте рассмотрим конфигурационный файл более подробно.
$cfg[‘blowfish_secret’]
В переменную $cfg[‘blowfish_secret’] = ‘123’ мы записываем любую комбинацию символов для шифрования пароля. Это необходимо для авторизации через cookie.
$i
В переменную $i записываем количество серверов.
$cfg[‘Servers’][$i][‘auth_type’]
В переменную $cfg[‘Servers’][$i][‘auth_type’] мы записываем тип авторизации. Существуют несколько типов авторизации:
- cookie — авторизация через cookie, запрашивается авторизация
- config — авторизация через конфигурационный файл, т.е. логин и пароль мы прописываем в этом же файле в переменных: $cfg[«Servers»][$i][‘user’] — для логина, $cfg[«Servers»][$i][‘password’] — для пароля
- http — авторизация посредством http-авторизации
- signon — авторизация при помощи php сессии (заранее созданной)
$cfg[‘Servers’][$i][‘host’]
В данную переменную мы вносим имя хоста или ip-адрес нашего MySQL сервера (тут нужно указать ip адрес именно нашего i-ого сервера)
$cfg[‘Servers’][$i][‘connect_type’]
В $cfg[‘Servers’][$i][‘connect_type’] мы вносим тип подключения к MySQL, существуют два типа:
- tcp — стандартное подключение, гарантирующее работу с большинство MySQL серверов
- socket — для того чтобы данное подключение работало MySQL и phpMyAdmin должны находиться на одном сервере
$cfg[‘Servers’][$i][‘compress’]
В переменной $cfg[‘Servers’][$i][‘compress’] мы включаем будет использоваться протокол сжатия для подключения к MySQL(true) или нет (false)
$cfg[‘Servers’][$i][‘extension’]
В данной переменной мы указываем какое в php использовать MySQL-расширение:
- mysql — классическое расширение для работы с MySQL
- mysqli — усовершенствованное расширение, им и следует пользоваться если у Вас MySQL выше чем 4.1.x
$cfg[‘Servers’][$i][‘AllowNoPassword’]
В этой переменной разрешаем входить пользователям без пароля (true) или необходима авторизация (false)
$cfg[‘Servers’][$i][‘only_db’]
В данную переменную мы помещаем массив данных, состоящих из баз, которые хотим, чтобы отображались данному пользователю. Например, $cfg[‘Servers’][$i][‘only_db’] = (‘test’)
$cfg[‘Servers’][$i][‘hide_db’]
Для скрытия определенных баз используйте данную переменную
$cfg[‘Servers’][$i][‘hide_db’]. Значение этой переменной — регулярное выражение. Например, если мы хотим скрыть базу данных test для данного пользователя, то должны прописать:
$cfg[‘Servers’][$i][‘hide_db’] = ‘test’
Вот в принципе и все основные настройки, которые я хотел бы рассмотреть в данной статье. Но на самом деле настроек phpMyAdmin множество: ограничение доступа по различным критериям, запись истории SQL-запросов, связывание таблиц. О этих настройках Вы можете прочитать в официальной документации по phpMyAdmin. А пока все. Всем удачной разработки.
[…] И так первый способ, который мы рассмотрели в первой части создания плагина имеет как плюсы, так и минусы. Основной минус это использования стандартной таблицы postmeta. При деактивации и удалении нашего плагина придется вычищать эту таблицу (могут возникнуть проблемы). Второй минус: мы переопределяли цикл The Loop, что не рекомендуется делать. И если есть другой способ реализации функционала, то лучше использовать его, а не переопределять The Loop. Второй способ вывода популярных постов заключается в использовании собственной таблицы. Давайте создадим ее. Для создания таблицы Вы можете использовать консоль или любой MySQL клиент. Я воспользуюсь phpMyAdmin. Кто не знает, что это за клиент и как им пользоваться я рекомендую прочитать статью “Основы работы с phpMyAdmin” и “Настройка phpMyAdmin”. […]
[…] И все. Этот способ для тех, кто разбирается в MySQL. Для тех, кто в MySQL пока еще не очень хорошо разбирается мы воспользуемся замечательной програмкой phpMyAdmin. Кстати я о ней писал в своих статьях «Основы работы с phpMyAdmin» и «Настройка phpMyAdmin» […]