
Разрешение удаленных подключений к MySQL/MariaDB
Для себя краткая шпаргалка как разрешить удаленный доступ как для root пользователя, так и вновь созданного пользователя.
Для себя краткая шпаргалка как разрешить удаленный доступ как для root пользователя, так и вновь созданного пользователя.
В этой статье я расскажу о различных способах создания резервной копии на сервере баз данных MySQL. Как мы знаем, данные являются ценным активом для организации. В случае сбоя системы или центра обработки данных, повреждения базы данных или потери данных мы должны иметь возможность восстановить их.
MySQL, как и большинство других реляционных баз данных, предоставляет нам полезные метаданные о базе данных. В официальной документации MySQL метаданные INFORMATION_SCHEMA называются таблицами.
MySQL — это система управления базами данных (СУБД), позволяющая хранить, организовывать большие объемы данных, и манипулировать ими.
Недавно разбирался как поднять почтовый сервер на Postfix в связке с Dovecot, для памяти опишу как поднять такой сервер на Debian 10. Все действия ниже будут выполняться от root.
# Добавляем DNS-записи для вашего почтового сервера:
@ MX 10 mail.example.com. mail A 192.168.1.10
# Задаем имя системы (mail
) в файле (/etc/hostname
):
echo mail > /etc/hostname
# Указываем в файле (/etc/hosts
) строку содержащую IP-адрес с полным доменным именем (FQDN).
127.0.0.1 localhost 192.168.1.10 mail.example.com mail
[stextbox id=’info’]ИНФОРМАЦИЯ: В приведенном выше примере 192.168.1.10
— это IP-адрес машины, mail
— это имя локального хоста, а mail.example.com
это полное доменное имя.[/stextbox]
Данные о пользователях почтового сервера (адреса электронной почты), доменах и псевдонимах будут хранится в базе данных MySQL.
# Устанавливаем MySQL сервер.
apt-get install mariadb-server -y
# Выполняем базовую настройку безопасности MySQL сервера и входим на сервер.
mysql_secure_installation mariadb
# Создаем базу данных для работы почтового сервера, пользователя для работы с базой данных и делегируем права на созданную базу данных.
CREATE DATABASE postfix; CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'postfix'; GRANT SELECT ON postfix.* TO 'postfix'@'localhost'; FLUSH PRIVILEGES;
# Переключаемся на созданную базу данных, для создания необходимых таблиц.
use postfix;
# Создаем таблицу для доменов, которые будут получать почту:
CREATE TABLE `virtual_domains` ( `id` int(11) NOT NULL auto_increment, `name` varchar(50) NOT NULL, PRIMARY KEY (`id`) );
# Создаем таблицу для всех адресов электронной почты и паролей:
CREATE TABLE `virtual_users` ( `id` int(11) NOT NULL auto_increment, `domain_id` int(11) NOT NULL, `password` varchar(106) NOT NULL, `email` varchar(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE );
Разберем как установить phpMyAdmin
последней версии из исходников в Debian 9 Stretch. Так же рассмотрим как обезопасить доступ к нему.
Устанавливаем необходимые пакеты:
apt-get install php php-common php-cli libapache2-mod-php php-gd php-mbstring php-zip php-xml php-curl php-bz2 php-mysql php-common php-tcpdf php-gettext mariadb-server -y
Скачиваем последнюю версию phpMyAdmin
, распаковываем скачанный архив и перемещаем его в пользовательский каталог:
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip unzip phpMyAdmin-latest-all-languages.zip rm phpMyAdmin-latest-all-languages.zip mv phpMyAdmin-*-all-languages/ /usr/share/phpmyadmin
Создадим каталог в котором phpMyAdmin будет хранить свои временные файлы и назначаем права доступа к нему для веб-сервера (www-data
):
mkdir -p /var/lib/phpmyadmin/tmp chown -R www-data:www-data /var/lib/phpmyadmin
Создаем базу данных и таблицы конфигурации для phpMyAdmin. Применяем поставляемый вместе с phpMyAdmin скрипт:
mariadb < /usr/share/phpmyadmin/sql/create_tables.sql
Рассмотрим установку стека LAMP (Linux, Apache, MySQL/MariaDB, PHP) на Debian 9 Stretch.
Обновляем систему до актуального состояния:
apt-get update && sudo apt-get upgrade -y
Устанавливаем веб-сервер Apache, выполняем команду:
apt-get install apache2 apache2-utils
Рассмотрим как подключить Asterisk 13 к MySQL посредством ODBC
(Open Database Connectivity) для ведения записей CDR
(Call Detail Records) и CEL
(Channel Event Logging).
phpMyAdmin — это веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL.
По-умолчанию кодировка в MySQL (5.5) сервере, установлена latin1, рассмотрим как ее изменить на utf-8. Данная инструкция применима ко всем разновидностям Linux, но выполнятся настройка будет на Debian 8 Jessie.
Однажды столкнувшись с случайным удалением задачи в Redmine, и не возможностью ее восстановления какими либо штатными средствами, пришлось проработать шаги восстановления удаленной задачи из резервной копии базы данных MySQL (Надеюсь все делают резервные копии !?).
В качестве памятки по работе с MySQL посредством командной строки, буду вести список наиболее полезных и часто используемых команд MySQL. (Список будет дополнятся по мере необходимости)
Рассмотрим как сбросить забытый/утерянный пароль от root
в MySQL
. Рассмотрим варианты сброса пароля под Windows и Unix системах.