Установка и конфигурация MySQL/MariaDB

Материал из ARK-HOSTER.RU | Документация хостинга
Версия от 10:41, 15 октября 2025; Admin (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Установка и конфигурация MySQL/MariaDB

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Обновите систему до последней версии пакетов.

2. Установка MariaDB

Для Ubuntu/Debian

1. Обновите список пакетов:

sudo apt update

2. Установите MariaDB сервер:

sudo apt install mariadb-server mariadb-client

3. Запустите и включите автозапуск MariaDB:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Для CentOS/RHEL/Fedora

1. Установите MariaDB:

sudo yum install mariadb-server mariadb
  1. или для новых версий
sudo dnf install mariadb-server mariadb

2. Запустите и включите автозапуск:

sudo systemctl start mariadb
sudo systemctl enable mariadb

3. Первоначальная настройка безопасности

1. Запустите скрипт настройки безопасности:

sudo mysql_secure_installation

2. Следуйте инструкциям:

  • Установите root пароль (рекомендуется)
  • Удалите анонимных пользователей (Y)
  • Запретите root вход удаленно (Y)
  • Удалите тестовую базу данных (Y)
  • Перезагрузите таблицы привилегий (Y)

4. Подключение к MariaDB

Подключение от root

1. Подключитесь к MariaDB:

sudo mysql -u root -p

2. Введите пароль root пользователя.

Создание нового пользователя

1. В консоли MariaDB создайте нового пользователя:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

2. Предоставьте все привилегии:

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;

3. Обновите привилегии:

FLUSH PRIVILEGES;

4. Выйдите из консоли:

EXIT;

5. Создание базы данных

1. Подключитесь к MariaDB:

mysql -u newuser -p

2. Создайте новую базу данных:

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. Выберите базу данных:

USE mydatabase;

4. Создайте таблицу:

CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

6. Настройка конфигурации MariaDB

Основные параметры конфигурации

1. Отредактируйте файл конфигурации:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

2. Настройте основные параметры:

[mysqld]
port = 3306
bind-address = 127.0.0.1
max_connections = 100
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M
query_cache_size = 32M
query_cache_type = 1
local-infile = 0

3. Перезапустите MariaDB:

sudo systemctl restart mariadb

7. Настройка удаленного доступа

Разрешение удаленного подключения

1. Отредактируйте файл конфигурации:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

2. Измените bind-address:

bind-address = 0.0.0.0

3. Создайте пользователя для удаленного доступа:

CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

4. Перезапустите MariaDB:

sudo systemctl restart mariadb

Настройка файрвола

1. Разрешите MySQL трафик:

sudo ufw allow 3306

8. Резервное копирование и восстановление

Создание резервной копии

1. Создайте резервную копию базы данных:

mysqldump -u root -p mydatabase > backup.sql

2. Создайте резервную копию всех баз данных:

mysqldump -u root -p --all-databases > full_backup.sql

Восстановление из резервной копии

1. Создайте новую базу данных:

mysql -u root -p -e "CREATE DATABASE restored_db;"

2. Восстановите данные:

mysql -u root -p restored_db < backup.sql

9. Мониторинг и оптимизация

Просмотр статуса

1. Подключитесь к MariaDB:

mysql -u root -p

2. Просмотрите статус:

SHOW STATUS;

3. Просмотрите процессы:

SHOW PROCESSLIST;

Оптимизация производительности

1. Установите MySQLTuner:

wget http://mysqltuner.pl/ -O mysqltuner.pl
chmod +x mysqltuner.pl

2. Запустите анализ:

./mysqltuner.pl

10. Управление MariaDB

Основные команды управления

  • Запуск MariaDB:
sudo systemctl start mariadb
  • Остановка MariaDB:
sudo systemctl stop mariadb
  • Перезапуск MariaDB:
sudo systemctl restart mariadb
  • Проверка статуса:
sudo systemctl status mariadb
  • Проверка подключения:
mysql -u root -p -e "SELECT VERSION();"

11. Безопасность

Дополнительные настройки безопасности

1. Регулярно обновляйте MariaDB:

sudo apt update && sudo apt upgrade mariadb-server

2. Настройте логирование:

log-error = /var/log/mysql/error.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

3. Ограничьте права пользователей:

CREATE USER 'readonly'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT ON mydatabase.* TO 'readonly'@'localhost';

12. Устранение неполадок

Просмотр логов

  • Логи ошибок:
sudo tail -f /var/log/mysql/error.log
  • Медленные запросы:
sudo tail -f /var/log/mysql/slow.log

Сброс пароля root

1. Остановите MariaDB:

sudo systemctl stop mariadb

2. Запустите в безопасном режиме:

sudo mysqld_safe --skip-grant-tables &

3. Подключитесь и сбросьте пароль:

mysql -u root
UPDATE mysql.user SET password=PASSWORD('newpassword') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

4. Перезапустите MariaDB:

sudo systemctl restart mariadb

Заключение

MariaDB успешно установлен и настроен! Теперь вы можете создавать базы данных и управлять ими.

Для размещения ваших проектов с базой данных на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой MariaDB и оптимизацией производительности вашей базы данных!