10 простых настроек phpmyadmin для упрощения администрирования mysql
Содержание:
- Prerequisites
- phpMyAdmin 4.9.7 and 5.0.4 are released
- 3: Отключение root-логина
- Правила устройства БД в PhpMyAdmin на локальном сервере
- Подключение через панель управления TimeWeb
- База данных MySQL: что это такое и в чем ее преимущества
- Установка phpMyAdmin
- Установка phpMyAdmin в Ubuntu 20.04
- Configuration
- phpMyAdmin 5.0.0-rc1 is released
- Особенности
- Настройка phpMyAdmin в Ubuntu
- About
- Features
- Latest News
- phpMyAdmin 4.9.4 and 5.0.1 are released
Prerequisites
In order to complete this guide, you will need:
- An Ubuntu 20.04 server. This server should have a non-root user with administrative privileges and a firewall configured with . To set this up, follow our initial server setup guide for Ubuntu 20.04.
- A LAMP (Linux, Apache, MySQL, and PHP) stack installed on your Ubuntu 20.04 server. If this is not completed yet, you can follow this guide on installing a LAMP stack on Ubuntu 20.04.
Additionally, there are important security considerations when using software like phpMyAdmin, since it:
- Communicates directly with your MySQL installation
- Handles authentication using MySQL credentials
- Executes and returns results for arbitrary SQL queries
For these reasons, and because it is a widely-deployed PHP application which is frequently targeted for attack, you should never run phpMyAdmin on remote systems over a plain HTTP connection.
If you do not have an existing domain configured with an SSL/TLS certificate, you can follow this guide on securing Apache with Let’s Encrypt on Ubuntu 20.04. This will require you to register a domain name, create DNS records for your server, and .
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/
3: Отключение root-логина
В MySQL, как и в обычных системах Linux, root является специальной учетной записью администратора с неограниченным доступом к системе. Этот пользователь является очевидной целью для brute-force атак. Чтобы минимизировать риски, нужно заблокировать в phpMyAdmin любые попытки входа в систему с помощью этого пользователя. То есть даже если вы предоставите действительные учетные данные пользователя root, вы все равно получите ошибку «access denied» и не сможете войти в систему.
Поскольку ранее мы решили использовать dbconfig-common для настройки и хранения параметров phpMyAdmin, конфигурация по умолчанию в настоящее время хранится в базе данных. Сейчас нужно будет создать новый файл config.inc.php для определения пользовательских настроек.
Хотя файлы PHP для phpMyAdmin находятся в /usr/share/phpmyadmin, приложение использует конфигурационные файлы, расположенные в /etc/phpmyadmin. Создайте новый файл пользовательских настроек в /etc/phpmyadmin/conf.d и назовите его pma_secure.php:
Этот файл содержит все необходимые параметры, которые отключают беспарольный вход (AllowNoPassword имеет значение false) и root-логин (AllowRoot со значением false):
Сохраните файл, когда вы закончите редактирование: нажмите Ctrl+X, затем y, чтобы подтвердить изменения, и Enter. Изменения вступят в силу автоматически. Если вы сейчас перезагрузите страницу входа и попытаетесь войти в систему как пользователь root, вы получите ошибку «Access Denied».
Теперь в вашей установке phpMyAdmin пользователю root запрещен вход в систему. Эта мера безопасности блокирует попытки brute-force сценариев угадать пароль root на вашем сервере
Более того, теперь для доступа к веб-интерфейсу phpMyAdmin можно использовать только учетные записи MySQL с пониженными привилегиями, что само по себе является важной мерой безопасности
Правила устройства БД в PhpMyAdmin на локальном сервере
- Каждый столбец имеет уникальное имя;
- Все столбцы должны располагаться в определенном порядке, который задается в момент создания БД;
- В базе данных должен быть обязательно хоть один столбец. Строк может не быть;
- Каждая строка не может повторяться;
Смотреть:
Данные вставляемые в столбец, имеют уникальный ТИП_ДАННЫХ.
Наиболее распространённые следующие типы данных:
- «DECIMAL» — Десятичные числа;
- «CHAR» — Краткий текст длинной до 255 символов;
- «INT» – Числа целые;
- «LONGTEXT» – Текст до 4,294,967,295 символов;
- «TEXT» – Текст обычный до 65,535 символов;
- «Date» – Даты, формат ГГГГ-ММ-ДД;
- «DATETIME» – дата и время ГГГГ-ММ-ДД ЧЧ: ММ: СС;
- «VARCHAR» – любые символы;
- «Time» – время — формат ЧЧ:MM:СС.
Язык базы данных в PhpMyAdmin на локальном сервере
Главный язык реляционных баз данных язык SQL. На нем пишутся запросы к базе данных. Называются запросы — SQL запрос. Для отправления SQL запросов в phpMyAdmin есть вклада: SQL, в верхнем горизонтальном меню.
Это все, про phpMyAdmin на локальном сервере. В следующей статье, я подробно расскажу, как работать с базой данных в phpMyAdmin.
WebOnTo.ru
Подключение через панель управления TimeWeb
Чтобы подключиться удаленно к MySQL, необходимо для начала открыть сайт хостинга и авторизоваться в личном кабинете. В панели управления следует выбрать раздел «Базы данных MySQL», через него и будем проводить операции. В новом открывшемся окне находим ссылку «Добавить доступ» напротив того сервера, к которому планируется подключиться. Для разрешения доступа к подсети /24 меняем последний актет IP-адреса на знак %.
При установлении соединения используем имя сервера или его IP-адрес. Данная информация доступна на главной странице в разделе «Информация о сервере». Порт указываем 3306, имя пользователя будет тем же, что и название базы данных. Вводим пароль и устанавливаем соединение.
phpMyAdmin
phpMyAdmin – программное средство, предоставляющее веб-интерфейс для работы с сервером MySQL. Подключиться к базе можно, открыв раздел «Базы данных MySQL» в панели управления хостингом. Находим на странице ссылку «phpMyAdmin» и жмем по ней для подключения. Если она недоступна, значит, пользователем был превышен лимит доступных БД. Увеличить его можно сменой тарифа.
Входим в данный раздел, вбиваем все данные и подключаемся.
База данных MySQL: что это такое и в чем ее преимущества
MySQL – это реляционная система управления базами данных с открытым исходным кодом, написанная на языках программирования C и C++. Благодаря ей можно оптимизировать работу сайта или мобильного/десктопного приложения.
База данных – это место для структурированного хранения данных. Например, чтобы найти в смартфоне сохраненную картинку, мы используем для этого галерею. В данном случае картинки – это данные, а галерея – база данных.
Такой же подход используется и на многих сайтах, где подключены формы регистрации, системы оформления заказа и прочее. Когда вы регистрируетесь на сервисе, вся полученная от вас информация сохраняется в базе данных – благодаря этому вы можете повторно войти в свой аккаунт и получить доступ к внесенным ранее изменениям.
Если вести крупный ресурс без БД, то на это будет уходить очень много времени и средств. Базы данных группируют и упорядочивают информацию, упрощают получение доступа к ней. Чтобы администрировать такой большой поток данных, используются СУБД: MySQL, Microsoft SQL Server, PostgreSQL и другие.
MySQL хранит всю информацию в табличном виде. Извлечь данные из одной или нескольких таблиц можно с помощью запроса. Запросы в MySQL – это то, на чем все строится, с их помощью можно выполнять всевозможные операции с данным.
Столбцы таблицы всегда строго упорядочены, а расположение строк при необходимости может меняться в зависимости от информации в ячейках. Посмотрите на простую адресную книжку в виде таблицы:
Принцип работы с таблицами следующий: к серверу, на котором хранятся и обрабатываются структурированные данные, подключаются клиенты для получения необходимой информации, а для взаимодействия между пользователем и сервером используется специальное ПО. Заполнение подобных и более крупных таблиц происходит с помощью языка программирования SQL.
Исходя из пользовательского опыта, можно выделить следующие особенности MySQL:
- быстрая скорость доступа и обработки данных;
- надежная защита информации;
- простота использования;
- совместимость с Windows и Linux;
- бесплатность;
- возможность контролировать доступ к данным и учетным записям;
- шифрование паролей.
На этом с теоретической частью закончим.
Установка phpMyAdmin
Нет ничего проще, чем установить PMA на Linux. Я опишу как сделать это на Ubuntu 14.x в Digital Ocean. Зайдите на сервер через SSH.
Во время установки можете использовать стандартные настройки или подлатать их под себя.
Если вы ограничите доступ MySQL только через localhost (что вы должны сделать), то для хакера база будет вне зоны досягаемости. Конечно он может попытаться подключиться через SSH или осуществит атаку посредством SQL инъекций, но напрямую атаковать базу данных не сможет
Как только вы установите PMA, то данный инструмент становится потенциально уязвим для атак, поэтому меры предосторожности не повредят
Есть несколько мер, которые я бы посоветовал при конфигурировании PMA.
- Используйте очень надежные пароли для всех учетных записей MySQL, особенно для пользователя root. Например, 25 символов для пароля.
- Для каждого из сайтов, используйте различные учетные записи и привилегии. Таким образом, если один пароль будет украден, пострадает только одна база данных.
- Меняйте стандартный URL доступа к PMA. Таким образом люди не смогут достучаться до него по адресу http://yourblog.com/phpmyadmin. Хотя данная мера не очень эффективна, она всё же увеличивает безопасность.
Добваляем алиас в файл :
Перезагружаем apache:
Теперь PMA будет доступен по адресу http://yourblog.com/myobscuredpma.
Если вам необходимо изменить пароль вашего phpMyAdmin, измените содержимое файла :
4. Настройте веб-аутентификацию для доступа к PMA. После этого вам потребуется ввести дополнительный пароль:
Для настройки ограничений пользователя apache следуйте этим шагам:
Установите из пакета :
Создайте директорию для хранения ваших паролей:
Добавьте в поддержку для PMA:
Далее добавьте :
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All
Настраиваем дополнительную аутентификацию:
AuthType Basic AuthName "Login Required for Access" AuthUserFile /etc/htpasswd/.htpasswd Require valid-user
Укажите пароль:
И перезапустите Apache:
Теперь для доступа к PMA вам необходимо будет ввести ещё один пароль, как показано выше.
Установка phpMyAdmin в Ubuntu 20.04
Прежде чем мы сможем установить phpMyAdmin Ubuntu, необходимо убедиться, что у вас установлено расширение php для работы с текстовыми строками в формате юникода. Для его установки выполните в терминале команду:
Теперь можно установить сам пакет phpMyAdmin при помощи команды:
Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Отметьте с помощью кнопки Пробел пункт apache2, а затем с помощью Tab и Enter нажмите кнопку Ок:
Далее установщик предложит создать базу данных для phpMyAdmin, в которой будет находиться служебная информация программы и необходимые настройки, необходимо согласиться выбрав пункт Yes:
На следующем этапе необходимо придумать пароль для пользователя phpmyadmin, который будет использоваться программой для доступа к собственной базе данных:
Далее программа попросит вас повторить заданный ранее пароль:
После этого установка phpMyAdmin Ubuntu 20.04 завершена.
Configuration
The main configuration file is located at .
Define a remote MySQL server
If the MySQL server is a remote host, append the following line to the config file:
$cfg = 'example.com';
Using setup script
# mkdir /usr/share/webapps/phpMyAdmin/config # chown http:http /usr/share/webapps/phpMyAdmin/config # chmod 750 /usr/share/webapps/phpMyAdmin/config
Add blowfish_secret passphrase
It is required to enter a unique 32 characters long string to fully use the blowfish algorithm used by phpMyAdmin, thus preventing the message ERROR: The configuration file now needs a secret passphrase (blowfish_secret):
/usr/share/webapps/phpMyAdmin/config.inc.php
$cfg = '...';
Enabling Configuration Storage
Extra options such as table linking, change tracking, PDF creation, and bookmarking queries are disabled by default, displaying The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. on the homepage.
Note: This example assumes you want to use the default username pma as the , and pmapass as the .
In , uncomment (remove the leading «//»s), and change them to your desired credentials if needed:
/usr/share/webapps/phpMyAdmin/config.inc.php
/* User used to manipulate with storage */ // $cfg = 'my-host'; // $cfg = '3306'; $cfg = 'pma'; $cfg = 'pmapass'; /* Storage database and tables */ $cfg = 'phpmyadmin'; $cfg = 'pma__bookmark'; $cfg = 'pma__relation'; $cfg = 'pma__table_info'; $cfg = 'pma__table_coords'; $cfg = 'pma__pdf_pages'; $cfg = 'pma__column_info'; $cfg = 'pma__history'; $cfg = 'pma__table_uiprefs'; $cfg = 'pma__tracking'; $cfg = 'pma__userconfig'; $cfg = 'pma__recent'; $cfg = 'pma__favorite'; $cfg = 'pma__users'; $cfg = 'pma__usergroups'; $cfg = 'pma__navigationhiding'; $cfg = 'pma__savedsearches'; $cfg = 'pma__central_columns'; $cfg = 'pma__designer_settings'; $cfg = 'pma__export_templates';
Two options are available to create the required tables:
- Import by using PhpMyAdmin.
- Execute in the command line.
To apply the required permissions for , execute the following query:
Note: Make sure to replace all instances of and to the values set in . If you are setting this up for a remote database, then you must also change to the proper host.
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';
In order use the bookmark and relation features, set the following permissions:
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
Re-login to ensure the new features are activated.
Edit to add the line:
$cfg = '/tmp/phpmyadmin';
Remove config directory
Remove temporary configuration directory once configuration is done. This will also suppress warning from web interface:
# rm -r /usr/share/webapps/phpMyAdmin/config
You can simply download and extract the new theme and it will work after phpmyadmin refresh. However, you have to download theme for the correct version of phpmyadmin, themes for older versions will not work.
phpMyAdmin 5.0.0-rc1 is released
2019-11-22
Welcome to the first release candidate of phpMyAdmin 5.0.0. This release features a great number of new features and bug fixes.
This is expected to be the final release candidate before 5.0.0 is finalized. Please visit https://github.com/phpmyadmin/phpmyadmin/milestones to stay updated on the expected release date and known bugs.
Since 5.0.0-alpha1, there have been several bugfixes, none of which are particularly notable. For a complete comparison, you could visit https://github.com/phpmyadmin/phpmyadmin/compare/RELEASE_5_0_0ALPHA1..RELEASE_5_0_0RC1.
The following are the release notes from 5.0.0-alpha1:
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. Detailed requirement information is available in the documentation included with the download or at https://docs.phpmyadmin.net/en/latest/require.html. As shown at https://www.phpmyadmin.net/downloads/#support our current branch of 4.9.x is planned to remain supported for some time in an LTS capacity.
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.
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 team,
Isaac
Особенности
- интуитивно понятный веб-интерфейс
- поддержка большинства функций MySQL:
- просмотр и удаление баз данных, таблиц, полей и индексов
- создание, копирование, удаление, переименовывание и изменение баз данных, таблиц, полей и индексов
- сервер обслуживания, базы данных и таблицы с предложениями конфигурации сервера
- выполнение, редактирование и пометки любых SQL- событий, в том числе и пакетных запросов
- управление учетными записями пользователей MySQL и привилегиями
- управление хранимыми процедурами и триггерами
- импорт данных из CSV и SQL
- экспорт данных в различные форматы: CSV , SQL , XML, PDF , ISO / IEC 26300 — OpenDocument Text и Spreadsheet, Word , L A T E X и др.
- администрирование нескольких серверов
- создание графики вашего макета базы данных в различных форматах
- создание сложных запросов с использованием Query-by-example (QBE)
- поиск по всей базе данных или ее части
- преобразование сохраненных данных в любой формат с использованием набора предопределенных функций, таких как отображение BLOB-данных в виде изображения или ссылки загрузки
Настройка phpMyAdmin в Ubuntu
Теперь phpMyAdmin будет доступен по адресу ip_вашего_сервера/phpmyadmin. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:
1. Создание пользователя для phpMyAdmin
По умолчанию, вы не сможете авторизоваться в phpMyAdmin от пользователя root, потому что по умолчанию данная особенность отключена. В целях безопасности включать данную опцию не рекомендуется. В данном случае необходимо создать нового пользователя и наделить его полномочиями root. Для создания нового пользователя перейдите в консоль MySQL введя команду в терминале:
После ввода пароля root пользователя MySQL, введите следующие команды:
При помощи первых двух команд был создан новый пользователь с именем test, ему был присвоен пароль и предоставлены все возможные привилегии (такие как создание, удаление, редактирование баз данных, таблиц и т.д.). Третья команда обновляет заданные ранее привилегии.
Теперь необходимо авторизоваться в phpMyAdmin при помощи созданного пользователя:
2. Защита phpMyAdmin
Если phpMyAdmin установлен на производственном сервере, который доступен из сети, то его необходимо обезопасить, добавив авторизацию. Для этого создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержимым:
Данные строки означают:
- AuthType Basic — устанавливает тип аутентификации, мы указываем, что будем использовать пароль;
- AuthName — задает сообщение, которое будет видеть пользователь;
- AuthUserFile — файл, откуда программа будет брать имена пользователей и пароли;
- Require — указываем, что аутентификация обязательна.
Далее создайте новый пароль для своего пользователя:
Чтобы настройки из файла .htaccess заработали в этой директории, необходимо, чтобы для неё в файле /etc/apache2/apache2.conf значение AllowOverride было All:
Сохраните изменения и закройте файл. Далее перезапустите apache:
Теперь, если вы попытаетесь открыть phpMyAdmin, то вам необходимо пройти авторизацию:
About
phpMyAdmin is a free software tool written in PHP,
intended to handle the administration of MySQL
over the Web. phpMyAdmin supports a wide range of operations on MySQL and
MariaDB. Frequently used operations (managing databases, tables,
columns, relations, indexes, users, permissions, etc) can be performed via the
user interface, while you still have the ability to directly execute any SQL statement.
phpMyAdmin comes with a wide range of documentation and users are welcome to
update our wiki pages to share ideas and
howtos for various operations. The phpMyAdmin team will try to help you if
you face any problem; you can use a variety of support channels to get
help.
phpMyAdmin is also very deeply documented in a book written by one of the developers
– Mastering phpMyAdmin for
Effective MySQL Management, which is available in English and .
To ease usage to a wide range of people, phpMyAdmin is being translated into 72 languages and supports both LTR
and RTL languages.
phpMyAdmin is a mature project with a stable and flexible code
base; you can find out more about the project and its history and the awards it earned. When the project turned 15, we published a celebration page.
The phpMyAdmin project is a member of Software Freedom Conservancy. SFC is a not-for-profit organization that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects.
Features
- Intuitive web interface
- Support for most MySQL features:
- browse and drop databases, tables, views, fields and indexes
- create, copy, drop, rename and alter databases, tables, fields and
indexes - maintenance server, databases and tables, with proposals on server
configuration - execute, edit and bookmark any
SQL-statement, even
batch-queries - manage MySQL user accounts and privileges
- manage stored procedures and triggers
- Import data from
CSV and
SQL - Export data to various formats:
CSV,
SQL,
XML,
PDF,
ISO/IEC 26300 —
OpenDocument Text and Spreadsheet,
Word,
LATEX
and others - Administering multiple servers
- Creating graphics of your database layout in various formats
- Creating complex queries using Query-by-example (QBE)
- Searching globally in a database or a subset of it
- Transforming stored data into any format using a set of predefined
functions, like displaying BLOB-data as image or download-link - And much more…
Latest News
- 2021-06-19: Infrastructure security improvements
- 2021-06-04: phpMyAdmin 5.1.1 is released
- 2021-02-24: phpMyAdmin 5.1.0 is released
- 2020-10-15: phpMyAdmin 4.9.7 and 5.0.4 are released
- 2020-10-10: phpMyAdmin 4.9.6 and 5.0.3 are released
phpMyAdmin 4.9.4 and 5.0.1 are released
2020-01-08
The phpMyAdmin team announces the release of versions 4.9.4 and 5.0.1.
As a reminder, version 4.x is in the LTS phase, where only security fixes and critical bug fixes are made. Users are suggested to migrate to version 5.
These releases address two issues, a problem with two-factor authentication that was introduced with the last releases, and a fix for an SQL injection vulnerability that was reported by CSW Research Labs . This vulnerability is assigned PMASA-2020-1 and requires that the attacker have logged in through a valid MySQL account.
Known issue: the reported current release version may display incorrectly on the main page (for instance, «Version information: 5.0.1, latest stable version: 4.9.4»). This is expected to be fixed in the next routine bug fix release.
Downloads are available at phpmyadmin.net.