Phpmyadmin. описание, где используется, интерфейс скрипта

phpMyAdmin 5.1.1 is released

2021-06-04

We at the phpMyAdmin project are pleased to release phpMyAdmin 5.1.1, a bugfix release.

There are many new bug fixes; a few highlights include:

  • Fixes for several PHP errors
  • Fixes for «$cfg» and other related configuration directives not working properly
  • Fix Yaml export to quote strings even when they are numeric
  • Fix TCPDF open_basedir issue due to internal guessing code from TCPDF
  • Fix for quick search not working when using more than one configured server
  • Fix datetime decimals displayed (.00000) after edit
  • Fix new lines in text fields are doubled
  • Fixed URL generation by removing un-needed escaping for & char
  • Improvements for working with PHP 8.1
  • Improved handling of adding a new user with the Percona database server

There are, of course, many more fixes you can see in the ChangeLog file included with this release or online at https://demo.phpmyadmin.net/master-config/index.php?route=/changelog

Downloads are available now at https://phpmyadmin.net/downloads/

Milestone releases

  • 1998-09-09 0.9.0: First internal release.
  • 1998-11-03 1.1.0: Added first confirmations for DROP commands.
  • 1998-11-29 1.2.0: Added possibility to import from text files.
  • 1998-12-16 1.3.0: Added query by example functionality.
  • 1998-12-27 1.3.1: First multi-lingual version.
  • 1999-01-16 1.4.0: Added support for renaming and copying tables.
  • 1999-04-11 2.0.0: Major layout changes.
  • 2000-06-08 2.1.0: Last release by the original developer Tobias Ratschiller.
  • 2001-08-31 2.2.0: First stable release made by the phpMyAdmin project.
  • 2001-11-08 2.3.0: Database and table views were split into smaller sections.
  • 2003-11-05 2.5.0: Introduction of the MIME-based transformation system.
  • 2004-09-27 2.6.0: Improved character set handling and support for MySQL 4.
  • 2005-12-04 2.7.0: Improved importing capabilities, simplified configuration and interface cleanup.
  • 2006-03-06 2.8.0: Compatibility updates, hiding databases, configurable memory limits, web-based setup.
  • 2006-09-20 2.9.0: Added export to OpenDocument Text and Spreadsheet.
  • 2007-02-27 2.10.0: GUI for relations, called Database Designer.
  • 2007-08-22 2.11.0: Supports creating VIEWS from query results, manages triggers, procedures and functions. Improved interface for servers handling large number of databases/tables.
  • 2008-09-27 3.0.0: Requires PHP 5.2 and MySQL 5+. Supports EVENT and TRIGGER.
  • 2008-11-28 3.1.0: Added support for BLOBStreaming, Swekey hardware authentication and rewritten setup script.
  • 2009-06-09 3.2.0: Added many small features.
  • 2010-03-07 3.3.0: Added new import and export modules, changes tracking, synchronization and support for replication configuration.
  • 2001-05-11 3.4.0: AJAXification of some parts, charts, visual query builder, user preferences, ENUM/SET editor.
  • 2012-04-07 3.5.0: Improved browsing, server monitoring, support for stored routines, events and triggers, openGIS support, Drizzle support.
  • 2013-05-03 4.0.0: Removal of HTML frames, switch to tree-based navigation, and new look for the documentation.
  • 2013-12-12 4.1.0: Requires PHP 5.3 and MySQL 5.5. Added ReCAPTCHA support, configurable menus, and an error reporting component.
  • 2014-05-08 4.2.0: Added fixed navigation tabs, favorites table and a quick filter for displayed rows.
  • 2014-12-05 4.3.0: Added SQL preview mode, central list of columns, normalization and the new console.
  • 2015-04-01 4.4.0: Various improvements to the table structure page, the console and the ZeroConf features.
  • 2015-09-23 4.5.0: Various improvements to export, import, table partitions or the console features. Requires PHP 5.5 or newer
  • 2016-03-22 4.6.0: Improved support for SSL connections to MySQL and many bugfixes.
  • 2017-03-29 4.7.0: Added database and table filtering, changes to JSON export, and begin using Composer to manage library dependencies.
  • 2018-04-07 4.8.0: Support for two–factor authentication, added a mobile–friendly interface.
  • 2019-06-04 4.9.0: «Long Term Support» (LTS) version providing security fixes for PHP 5.5 through 7.4 and MySQL 5.5 and newer.
  • 2019-12-26 5.0.0: Added the Metro theme as well as modernizing many aspects of the codebase. PHP 7.1 or newer is now required.
  • 2021-02-24 5.1.0: Added a routing system and re-worked all the route endpoints. Babel is now used to transpile JS files and Bootstrap is used more and more in our Twig templates. A lot of codebase modernizing and some performance improvements.

August 13, 2019

GSoC PMA: Week-9

One of the problem I was facing last week has finally been resolved. In one of the issue, “Designer Save as enhancement”, earlier the changes were happening as expected but the problem was that it works only when we have a alert message. It doesn’t work without alert message(in last week, I wasn’t able to figure out why). Later on looking into the things, I figured out that there was a problem of synchronization here. To resolve this, I searched for a while and later on found .ajaxStop(). AjaxStop(): Register a handler to be called when all Ajax requests have completed. “Whenever an Ajax request completes, jQuery checks whether there are any other outstanding Ajax requests. If none remain, jQuery triggers the ajaxStop event. Any and all handlers that have been registered with the .ajaxStop() method are executed at this time. The ajaxStop event is also triggered if the last outstanding Ajax request is cancelled by returning false within the beforeSend callback function”(Source: https://api.jquery.com/ajaxStop/). Finally I created a PR to resolve the issue correctly.

Another problem which I was facing was with the issue “Designer should remember expanded/collapsed state”, here I don’t know exactly why I am not able to restore the states. Here the GET and SET values are correct and also I loaded the data into the appropriate variables correctly too, not sure where is the problem exactly. Still trying to figure it out.

Beside these 2 issues, I started working towards other 2 issues:- “Designer should show tables from other databases by default”- “Designer page save fails if dB name contains period .”

Regarding the issue, “Designer page save fails if dB name contains period .”, I remember that I was able to reproduce this while preparing the GSoC proposal but now I am not able to reproduce this. I have commented the same on the issue too. Let’s hope we figure this out as soon as possible.

Regarding the other issue “Designer should show tables from other databases by default”, I have looked at the discussions and code related to this(actually the discussion which lead to this issue) also, I am able to reproduce this one but not able to track this down(the point where we need to make the appropriate changes to resolve this).

In the upcoming week, I have to resolve these issues and discuss things with mentors if I face any problems. Also, I need to look at the refactoring work if I need to make any changes over there or not. I need to speed up the things as the deadline for the final evaluation is approaching and the work should be finished with complete documentation before that. Let’s hope I finish things on time.

phpMyAdmin 4.9.7 and 5.0.4 are released

2020-10-15

Welcome to the release of phpMyAdmin version 4.9.7 and 5.0.4. These are bug fix releases to address packaging problems with 4.9.6 and 5.0.3. Version 5.0.3 includes a few other minor bugs as well.

Fixed in both:

  • Two factor authentication was broken
  • Incompatibilities with older PHP versions.

Additional fixes in 5.0.3:

  • Fix for cleared search values when a Zoom search fails
  • Fix a PHP error when reporting a certain JavaScript error
  • Fixed latitude and longitude swap for geometries in edit mode
  • Fix CREATE TABLE not being tracked when auto tracking is enabled

Sorry for the inconvenience.

This is expected to be the last release of 5.0, we have scheduled 5.1.0 as the next phpMyAdmin release.

This is a reminder that phpMyAdmin 4.9 is in the long-term support phase where it will only get important security fixes and critical bug fixes. Users are suggested to migrate to version 5.

Downloads are available now at https://phpmyadmin.net/downloads/

Настройка phpmyadmin

Пхпадмин готов к работе сразу после установки, дополнительные настройки не обазательны. Приведу полезный пример при использовании — ограничение доступа к phpmyadmin средствами веб-сервера. Для использования панели необходимо будет не только знать имя учетной записи mysql, но и пользователя и пароль для доступа непосредственно к панели.

Рассмотрим сначала пример с веб сервером apache. Будем использовать стандартное средство для ограничения доступа к каталогу с помощью .htaccees. Создадим такой файл в папке со скриптами phpmyadmin:

# mcedit /usr/share/phpMyAdmin/.htaccess
AuthName "Enter Password"
AuthType Basic
Require valid-user
AuthUserFile "/usr/share/phpMyAdmin/.htpasswd"

Теперь создадим файл с авторизационными данными:

# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user password
user имя пользователя
password пароль

Чтобы авторизация заработала, необходимо в файле /etc/httpd/conf.d/phpMyAdmin.conf в разделе Directory добавить параметр AllowOverride, чтобы получилось вот так:

<Directory /usr/share/phpMyAdmin/>
  AddDefaultCharset UTF-8
  Require all granted
  AllowOverride All
</Directory>

Перезапускаем апач и проверяем настройку. При обращении по адресу веб панели, должно выскочить окошко с авторизацией:

Проделаем то же самое на nginx. Так же создаем файл с паролем .htaccess:

# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user password

Если у вас на сервере не установлен httpd, то скорее всего вы увидите ошибку:

-bash: htpasswd: command not found

Необходимой утилиты нет в системе. Установим htpasswd на centos:

# yum install -y httpd-tools

Снова создаем файл с паролем:

# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user1 password
Adding password for user user1

Отредактируем конфигурационный файл nginx, добавив в секцию server {} новый location:

location /phpmyadmin/ {
  auth_basic "Enter password";
  auth_basic_user_file /usr/share/phpMyAdmin/.htpasswd;
}

Сохраняете конфиг, перезапускаете nginx и проверяете доступ к странице. Должно выскочить такое же, как и с apache, окно авторизации.

Рассмотрим еще несколько полезных настроек phpmyadmin. После входа в панель, в разделе Настройки вы увидите сообщение:

Ваши настройки будут сохранены только для текущей сессии. Для постоянного хранения требуется подключение модуля хранения настроек phpMyAdmin.

Подключим необходимый модуль для сохранения настроек. Модуль это громко сказано, нам всего лишь необходимо создать отдельную базу данных для хранения настроек и активации некоторых расширенных возможностей. Файл для создания базы данных хранится в директории phpmyadmin по адресу /usr/share/phpMyAdmin/sql/create_tables.sql. Копируем содержимое этого файла и выполняем его тут же, в phpmyadmin в разделе SQL:

Теперь можно идти в настройки и изменять их. Я обычно отключаю проверку новой версии. Они выходят достаточно часто, обновлять мне все равно их лень, поэтому информация о новых версиях мне не нужна. Так же отключаю логотип, можно загрузить свой. Сами полистайте настройки, посмотрите, что вам интересно. Все пункты неплохо задокументированы, можно почитать за что отвечают. Иногда бывает полезно вывести отдельный столбец в списке таблиц с информацией по дате создания и обновления. Это настраивается в разеделе Настройки -> Основная панель -> Структура базы данных.

Если вы хотите подключиться к удаленному mysql серверу с помощью phpmyadmin, воспользуйтесь скриптом настройки подключения по адресу http://ip-адрес-сервера/phpmyadmin/setup/.

phpMyAdmin

phpMyAdmin — это LAMP приложение, созданное специально для администрирования MySQL серверов. Написанный на PHP и доступный через web обозреватель, phpMyAdmin предоставляет графический интерфейс для задач администрирования баз данных.

Установка

Перед установкой phpMyAdmin вам потребуется доступ к базе MySQL на том же самом компьютере, где вы устанавливаете phpMyAdmin, либо на удаленном компьютере, доступным по сети. Подробности смотрите в разделе MySQL. Для установки в терминале введите:

sudo apt-get install phpmyadmin

По запросу выберите какой web сервер будет настроен для phpMyAdmin. В этом разделе предполагается использование в качестве web сервера Apache2.

Далее производим настройку apache для обеспечения работы phpMyAdmin.

Начиная с ubuntu 13.10 необходимо выполнить команды в терминале:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo /etc/init.d/apache2 reload

В обозревателе перейдите по адресу http://localhost/phpmyadmin . На странице входа введите root в качестве имени пользователя, или другого пользователя, если вы его настраивали, а также пароль этого пользователя MySQL.

Если на предыдущем шаге, когда заходите по адресу http://localhost/phpmyadmin, сервер выдает ошибку 404 — Not found, проверьте расположение файла phpmyadmin.conf. В случае ubuntu 12.04: если файл отсутствует по адресу /etc/apache2/conf.d/phpmyadmin.conf и при этом существует по адресу /etc/phpmyadmin/apache.conf, то переместите файл и перезапустите сервер:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 restart

После этого попробуйте снова войти через браузер.

Как только вы авторизуетесь, вы сможете при необходимости сменить пароль пользователя root, создавать пользователей, создавать/удалять базы данных, таблицы и пр.

Настройка

Файлы настройки phpMyAdmin находятся в /etc/phpmyadmin. Основной файл настроек — это /etc/phpmyadmin/config.inc.php. Этот файл содержит опции настройки, которые применяются к phpMyAdmin глобально.

Чтобы использовать phpMyAdmin для управления MySQL на другом сервере, настройте следующую запись в /etc/phpmyadmin/config.inc.php:

$cfg = 'db_server';

Замените db_server на актуальный IP адрес удаленного сервера базы данных. Также убедитесь, что компьютер с phpMyAdmin имеет права доступа к удаленной базе.

После настройки выйдите из phpMyAdmin и зайдите снова и вы получите доступ к новому серверу.

Файлы config.header.inc.php и config.footer.inc.php используются для добавления HTML верхнего и нижнего заголовков для phpMyAdmin.

Другим важным файлом настройки является /etc/phpmyadmin/apache.conf, который является символьной ссылкой на /etc/apache2/conf.d/phpmyadmin.conf и используется для настройки Apache2 по обслуживанию сайта phpMyAdmin. Файл содержит настройки по загрузке PHP, правам доступа к каталогу и пр. Для дополнительной информации смотрите раздел HTTPD — Apache2 интернет сервер.

Ограничить видимость для интернета

в файл /etc/apache2/conf-enabled/phpmyadmin.conf под строчкой

<Directory /usr/share/phpmyadmin> 

добавить

    Deny from all
    Allow from 127.0.0.1 109.172.13.224 192.168.1.

<-назад |
далее->

Возможные проблемы

1. Ошибка при обработке запроса, код 200, parsererror (rejected)

Появляется во всплывающем окне сразу после входа в базу. Дополнительно сообщение: «Похоже соединение с сервером потеряно. Проверьте сетевое подключение и статус сервера.»

Причина: предыдущие сессии могут храниться на сервере. Когда мы подключаемся к базе, к которой ранее подключались со старого phpMyAdmin, приложение безуспешно пытается их использовать.

Решение: просто обновляем в браузере страницу и заходим в базу повторно.

2. Секретная парольная фраза в конфигурации (blowfish_secret) слишком короткая

Предупреждение может появиться снизу на страницах приложения.

Причина: в более новых версиях может потребоваться использовать более стойкую парольную фразу. Она задается в конфигурационном файле, который мы перенесли со старой версии.

Решение: меняем парольную фразу. Сначала генерируем ее командой:

head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32 ; echo »

После открываем конфигурационный файл:

vi /var/www/phpMyAdmin/config.inc.php

И редактируем строку:

$cfg = ‘NiYR7z886zou9C50UczXL7zRp2Pg5sRC’;

phpMyAdmin 5.0.0

Released 2019-12-26.

Welcome to the release of phpMyAdmin version 5.0.0.

This release includes many new features and improvements from the 4.9 series. We expect to maintain version 4 in a security capacity
to support users with older PHP installations. For full details about supported versions and end of life dates, see the "Supported versions"
grid at .

With this release, we are removing support of old PHP versions (5.5, 5.6, 7.0, and HHVM). These versions are outdated and are no longer supported by the PHP team.

Version 5.0 includes many coding improvements that modernize the interface. Many of these changes are transparent to users, but make the code easier to maintain.
Much of this refactoring work is completed by our contract developer, Maurício Meneghini Fauth. We always consider applications for new (paid) contract developers,
see  for program details.

Some of the changes and new features include:

* Enable columns names by default for CSV exports
* Add Metro theme
* Automatically add the index when creating an auto increment column
* Improvements to exporting views
* Prompt the user for confirmation before running an UPDATE query with no WHERE clause
* Improvements to how errors are show to the user (including allowing easier copying of the error text to the clipboard)
* Added keystrokes to clear the line (ctrl+l) and clear the entire console window (ctrl+u)
* Use charset 'windows-1252' when export format is MS Excel

There are several more changes, please refer to the ChangeLog file included with the release for full details.

Known shortcomings:

Due to changes in the MySQL authentication method, PHP versions prior to 7.4 are unable to authenticate to a MySQL 8.0 or newer server (our tests show the problem actually began with MySQL 8.0.11). This relates to a PHP bug https://bugs.php.net/bug.php?id=76243. There is a workaround, that is to set your user account to use the current-style password hash method, mysql_native_password. This unfortunate lack of coordination has caused the incompatibility to affect all PHP applications, not just phpMyAdmin. For more details, you can see our bug tracker item at https://github.com/phpmyadmin/phpmyadmin/issues/14220. We suggest upgrading your PHP installation to take advantage of the authentication methods.

Downloads are available now at https://phpmyadmin.net/downloads/

Our work would not be possible without the donations of our generous sponsor, and this release in particular is brought to you thanks to the hard work of our Google Summer of Code students and many other contributors.

For the phpMyAdmin team,
Isaac

Older version compatible with PHP 7.1 and newer and MySQL/MariaDB 5.5 and newer. Was supported until February 24, 2021.

File Size Verification
phpMyAdmin-5.0.0-all-languages.zip 13.8 MB
phpMyAdmin-5.0.0-all-languages.tar.gz 12.3 MB
phpMyAdmin-5.0.0-all-languages.tar.xz 7.8 MB
phpMyAdmin-5.0.0-english.tar.gz 7.8 MB
phpMyAdmin-5.0.0-english.tar.xz 5.8 MB
phpMyAdmin-5.0.0-english.zip 9.4 MB
phpMyAdmin-5.0.0-source.tar.xz 14.2 MB

Since July 2015 all phpMyAdmin releases are cryptographically signed by the
releasing developer. You should verify that the signature matches the archive
you have downloaded. Verification instructions are placed in our
documentation in the chapter.

Настройка виртуального домена

Настройка виртуального домена зависит от веб-сервера, который мы используем. Разберем примеры для NGINX и Apache.

NGINX

На отдельном домене

Создаем конфигурационный файл для виртуального домена:

vi /etc/nginx/conf.d/phpMyAdmin.conf

server {
        listen       80;
        server_name  phpmyadmin.dmosk.local;
        set $root_path /usr/share/phpMyAdmin;
        location / {
                root $root_path;
                index index.php;
        }
        location ~ \.php$ {
                #fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/run/php-fpm/www.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param DOCUMENT_ROOT $root_path;
                fastcgi_read_timeout 300;
        }
}

* где:

listen — порт, на котором слушает nginx для данного домена.
server_name — домен для которого применяются настройки server. В данном примере phpmyadmin.dmosk.local.
root_path — переменная, в которую мы заносим наш путь до phpMyAdmin.
location / — настройки для запросов к серверу. В конкретном случае, мы используем root_path в качестве корневой директории для скриптов сайта; опция index нужна для поиска скрипта по умолчанию, если нет явного обращения клиентом.
location ~ \.php$ — параметры для обработки скриптов php. В нашем случае, мы обрабатываем скрипты с помощью php-fpm

Стоить обратить внимание, что последний может слушать на порту (по умолчанию, 9000) или через сокет-файл. В примере выше используется последний вариант, а способ с портом закомментирован.

fastcgi_pass — данный параметр важен и зависит от настройки php-fpm

Если последний слушает на порту, мы задаем первый вариант (который закомментирован), иначе — указываем путь до сокетного файла.

Проверяем корректность настройки nginx:

nginx -t

… и если ошибок нет, перезапускаем сервис:

systemctl restart nginx

С помощью location /phpmyadmin

Открываем конфигурационный файл для домена по умолчанию:

vi /etc/nginx/conf.d/default.conf

* в вашей ситуации, файл с доменом по умолчанию может быть другим. 

Добавляем location ^~ /phpmyadmin со следующими настройками:

server {
        listen       80 default_server;
        …
        location /phpmyadmin {
            root /usr/share/;
            index index.php;
            location ~ ^/phpmyadmin/(.+\.php)$ {
                root /usr/share/;
                #fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/run/php-fpm/www.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_read_timeout 300;
            }
            location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                root /usr/share/;
            }      
        }
}

* где:

root — каталог, в котором находится каталог с phpmyadmin с порталом.
location ~ \.php$ — параметры для обработки скриптов php. В нашем случае, мы обрабатываем скрипты с помощью php-fpm

Стоить обратить внимание, что последний может слушать на порту (по умолчанию, 9000) или через сокет-файл. В примере выше используется последний вариант, а способ с портом закомментирован.
fastcgi_pass — данный параметр важен и зависит от настройки php-fpm

Если последний слушает на порту, мы задаем первый вариант (который закомментирован), иначе — указываем путь до сокетного файла.

Проверяем корректность настройки nginx:

nginx -t

… и если ошибок нет, перезапускаем сервис:

systemctl restart nginx

Apache

Создаем конфигурационный файл для виртуального домена:

vi /etc/httpd/conf.d/phpMyAdmin.conf

<VirtualHost *:80>
    Define root_domain phpmyadmin.dmosk.local
    Define root_path /usr/share/phpMyAdmin
    ServerName ${root_domain}
    ServerAlias www.${root_domain}
    DocumentRoot ${root_path}
    <Directory /usr/share/phpMyAdmin>
        AllowOverride All
        Options Indexes ExecCGI FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Проверяем корректность настройки apache:

apachectl configtest

… и если ошибок нет, перезапускаем сервис:

systemctl restart httpd

Возможности phpMyAdmin

  • интуитивно понятный веб-интерфейс
  • поддержка большинства функций MySQL:
  • — просмотр и удаление баз данных, таблиц, вьюшек, полей и индексов
  • — создание, копирование, удаление, переименование и изменение баз данных, таблиц, полей и индексов
  • — управление сервером, базами данных и таблицами, с советами по настройке сервера
  • — выполнение, редакция и сохранение любого SQL-выражения, включая пакетные запросы
  • — управление пользователями MySQL и их привилегиями
  • — работа с хранимыми процедурами и триггерами
  • поддержка импорта данных из CSV и SQL
  • поддержка экспорта в различные форматы CSV, SQL, XML, PDF, ISO/IEC 26300 — OpenDocument текст и таблицы, Word, Excel, LATEX и другие
  • администрирование нескольких серверов
  • генерирование наглядных схем баз данных в виде PDF
  • создание комплексных запросов с помощью функции Запрос по шаблону
  • глобальный или частичный поиск в базе данных
  • трансформация данных в любой формат, используя набор предназначенных функций вроде отображения BLOB-данных в виде картинки или ссылки для скачивания
  • это не все, лишь часть возможностей phpMyAdmin которых, впрочем, достаточно чтобы объяснить его международную популярнсть.

Использование phpMyAdmin для веб-разработки

1. Создание и удаление баз данных

На мой взгляд PMA особо полезен на стадиях разработки и тестирования, когда в любой момент смогу сбросить базу или сделать откат какой-то операции.

Без PMA мне бы пришлось заходить на мой сервер через SSH, подключаться к MySQL, а затем запускать запрос:

create database myapp;
 grant all privileges on myapp_database.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password";
 flush privileges;

PMA позволяет нам запускать любой запрос через удобный визуальный интерфейс. Нажмите вкладку SQL и вставьте вышеуказанные SQL код. Затем кликните Go чтобы создать базу данных.

Так же для создания базы данных можите напрямую воспользоваться визуальный интерфейсом:

Таким же образом, вы можете добавлять пользователей и назначать привилегии. Перейдите на вкладку “Привилегии”:

Кликните “Добавить пользователя” и назначьте желаемые привилегии для базы данных:

Для самого обычного аккаунта будет достаточно выделить боксы в разделах “данные” и “структура”.

Чтобы удалить базу данных откройте меню, выберите базу, нажмите “удалить”:

2. Резервное копирование базы данных

Перед какими-то важными операциями неплохо было бы осуществить резервное копирование базы. Если что-то пойдет не так вы всегда сможете восстановить базу из резервной копии.

Щелкните на базу данных, перейдите на вкладку “Экспорт” и выберите “Custom”.

Выберите пункт :

Когда нажмёте Go, PMA создаст резервную копию всей вашей базы данных и отдаст её на скачку. Если настройки тайм-аута в вашем Apache PHP не настроены должным образом, некоторые загрузки крупных файлов могут не завершиться или прерваться. Измените настройки в .

3. Тестирование запросов

PMA прекрасно подходит для тестирования SQL запросов. Во время разработки одного проекта, мне было необходимо изучить поведение и протестировать ряд сложных запросов геолокации, найти ближайшие к моему адресу соседства.

Выберите ваше базу данных, нажмите Query. Вставьте или отредактируйте сложные SQL запросы и протестируйте их напрямую через PMA:

После шлифовки запроса, его легче применить в рамках шаблона ActiveRecord. Как тут:

$criteria = new CDbCriteria;
$criteria->together=true;
$criteria->having= "distance < 100";
$criteria->order = "distance ASC";
$criteria->with = array('place_geometry'=>array('select'=>'place_id,center,'.new CDbExpression('(3959 * acos( cos( radians('.$lat.') ) * cos( radians( X(center) ) ) * cos( radians( Y(center) ) - radians('.$lon.') ) + sin( radians('.$lat.') ) * sin( radians( X(center) ) ) )) as distance')));
$dataProvider = new CActiveDataProvider(Place::model()->active()->includesMember($id),
                        array('criteria' => $criteria,
                        'pagination' => array(
                            'pageSize' => 10,
                        ),
                    ));

4. Быстрое изменение данных

Если вы разработчик, то у вас наверняка возникала ситуация что при работе с БД выскакивали ошибки из-за отсутствия или неправильного значения в какой-то из ячеек таблицы. Не так ли?

PMA предоставляет нам отличную возможность изменения значения ячеек непосредственно из отображения таблицы. Откройте базу данных и выберите таблицу. Дважды кликните на колонке чтобы ввести значение. После окончания изменений нажмите “Enter”:

5. Актуализация базы данных на основе миграций

Если вы используете фрэймворк (как Yii), то наверняка в вашем арсенале есть инструмент миграции. Миграции облегчает поэтапное изменение БД в процессе разработки. Однако при тестирование могут возникнуть проблемы.

Чаще всего я наталкиваюсь на ошибки миграции из-за лишних (не удалённых) индексов, внешних ключей или таблиц. В таком случае я использую PMA для удаления таблицы и нежелательных индексов.

В PMA, выберите базу данных, кликните не вкладку SQL и выполните запрос. Вот несколько примеров:

Надеемся, что данная статья была для вас полезной.

Причины популярности PhpMyAdmin

Простота пользования и удобство интерфейса PHPMyAdmin предопределили его популярность и широту распространения во Всемирной сети. Эту программу включают в пакет серверного софта большинство хостеров, предоставляющих виртуальные площадки для размещения сайтов. Кроме того, она является частью пакета программ локальных серверов, используемых веб-разработчиками для отладки сайтов на домашних компьютерах. Например, она входит в состав популярных пакетов серверных программ Denwer и Apache.

Скрипт бесплатен, у него открытый код. Скачать его можно на многих ресурсах, но лучше это сделать на официальном сайте: http://www.phpmyadmin.net/.

iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.

Мы предлагаем:

  • Виртуальные серверы с NVMe SSD дисками от 299 руб/мес
  • Безлимитный хостинг на SSD дисках от 142 руб/мес
  • Выделенные серверы в наличии и под заказ
  • Регистрацию доменов в более 350 зонах
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector