Установка и настройка MariaDB на CentOS - подробная инструкция. Установка и настройка MariaDB на CentOS - подробная инструкция Установка mariadb на centos 6

Что такое MariaDB

MariaDB - это система управления базами данных (СУБД), которая основывается на MySQL и во многом с ней совместима.

MariaDB и MySQL полностью совместимы в синтаксисе SQL запросов. То есть, если ваша программа использует базы данных MySQL (например, веб-сайт на PHP), то при переходе на MariaDB не нужно ничего менять в программе.

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

MariaDB совместима с форматами баз данных MySQL, но есть некоторые нюансы. Если вы переносите базы данных через экспорт/импорт (например, с помощью.SQL файла), то переносимые таким образом базы данных будут полностью совместимы между любыми версиями и не требуют каких-либо дальнейших действий. Тем не менее, если вы установили MariaDB поверх MySQL, то есть MariaDB использует файлы баз данных от MySQL, то нужно учитывать совместимость:

  • MariaDB 10.2 совместима с предыдущими версиями файлов данных MariaDB, а также с MySQL 5.6 и MySQL 5.7, но не совместима с MySQL 8.0.
  • MariaDB 10.1 совместима с предыдущими версиями файлов данных MariaDB, а также с MySQL 5.6.

Дополнительная информация: https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/

MariaDB работает на Windows и Linux. Эта программа с полностью открытым исходным кодом. Она распространяется как в форме исходных кодов, так и скомпилированных исполнимых файлов для Windows и всех популярных дистрибутивов Linux.

Чем MariaDB лучше MySQL

MariaDB поддерживает больше систем хранения (Storage Engines).

В дополнении к стандартным MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE, и MERGE движкам хранения, в MariaDB также имеются следующие:

  • ColumnStore, система хранения, ориентированная на столбцы, оптимизирована для хранилища данных.
  • MyRocks, система хранения с большим сжатием, добавлена с 10.2 версии
  • Aria, замена для MyISAM с улучшенным кэшированием.
  • FederatedX (замена для Federated)
  • OQGRAPH.
  • SphinxSE.
  • TokuDB.
  • CONNECT.
  • SEQUENCE.
  • Spider.
  • Cassandra.

MariaDB имеет множество различных улучшений и оптимизаций в скорости обработки данных.

MariaDB дополнена новыми расширениями и функциями.

Скачать MariaDB для Windows

MariaDB является бесплатной, настоятельно рекомендуется её скачивать с официального сайта. Страница для скачивания MariaDB: https://downloads.mariadb.org/

Вы увидите несколько серий - несколько мажорных версий программы. Если вам не нужна какая-то специфическая совместимость с MySQL, то просто выберите самую последнюю версию и нажмите кнопку с «Download»

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

Файлы Windows x86_64 - это 64-битные версии, а Windows x86 - 32-битные.

.zip - это портативные версии, которые нужно устанавливать самостоятельно, но которые дают полную свободу в тонкой подстройке. А .msi - это установщик для Windows.

В этой инструкции я покажу на примере работы с версией .zip .

На следующей странице достаточно нажать кнопку: «No thanks, just take me to the download »:

Установка MariaDB в Windows

Для Windows СУБД MariaDB распространяется в виде установщика и ZIP архива. Я предпочитаю установку из ZIP архива, поскольку это позволяет полностью контролировать процесс.

Установку во всех примерах я выполняю в папку C:\Server\bin\ , поскольку у меня MariaDB является частью веб-сервера, установленного по . Если у вас по-другому, то учитывайте это и делайте соответствующие поправки.

mariadb и переместите в C:\Server\bin\ .

Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\ .

В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:

Переход с MySQL на MariaDB в Windows

Переход с MySQL на MariaDB с сохранением баз данных

Можно выполнить переход разными способами. Я покажу самый универсальный метод, гарантирующий полную совместимость и отсутствие дальнейших проблем.

Необходимо начать с создания резервной копии баз данных. Мы выполним это в командной строке с помощью утилиты (поставляется с MySQL и размещена в папке bin ).

Откройте командную строку Windows. Для этого нажмите Win+x и выберите Windows PowerShell (администратор) . В открывшем окне выполните

Перейдём в папку, где находится эта утилита (у вас может быть другой путь):

Cd C:\Server\bin\mysql-8.0\bin\

Сделайте дамп (резервную копию) всех баз данных следующей командой:

Mysqldump.exe -u root -p --all-databases > all-databases.sql

Теперь в папке C:\Server\bin\mysql-8.0\bin\ появится файл all-databases.sql - обязательно скопируйте его в безопасное место!

Теперь остановите службу MySQL и удалите её из автозагрузки:

Дополнительно скопируйте в безопасное место папку C:\Server\data\DB\data\ - это дополнительная резервная копия файлов баз данных MySQL - на тот случай, если с MariaDB что-то пойдёт не так и вы захотите вернуться к MySQL.

Теперь удалите папки C:\Server\bin\mysql-8.0\ (бинарные файлы) и C:\Server\data\DB\data\ (базы данных).

Распакуйте скаченный архив с MariaDB, переименуйте папку в mariadb и переместите в C:\Server\bin\ .

Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\ .

В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:

Datadir="c:/Server/data/DB/data/"

Для установки и запуска службы выполните команды:

C:\Server\bin\mariadb\bin\mysqld --install net start mysql

Для развёртывания баз данных из резервной копии, перейдите в папку C:\Server\bin\mariadb\bin\ :

Cmd cd C:\Server\bin\mariadb\bin\

И запустите команду вида:

Mysql -uroot < C:\путь\до\файла\резервной_копии.sql

Например, у меня файл all-databases.sql с резервной копией баз данных размещён в папке h:\Dropbox\!Backup\ , тогда моя команда такая:

Mysql -uroot < h:\Dropbox\!Backup\all-databases.sql

Дождитесь завершения импорта - если файл большой, то процесс может затянуться.

Переход с MySQL на MariaDB без сохранения баз данных

Остановите службу MySQL и удалите её из автозагрузки:

Net stop mysql c:\Server\bin\mysql-8.0\bin\mysqld --remove

Удалите папки C:\Server\bin\mysql-8.0\ (бинарные файлы) и C:\Server\data\DB\data\ (базы данных).

Распакуйте скаченный архив с MariaDB, переименуйте папку в mariadb и переместите в C:\Server\bin\ .

Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\ .

В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:

Datadir="c:/Server/data/DB/data/"

Для установки и запуска службы выполните команды:

C:\Server\bin\mariadb\bin\mysqld --install net start mysql

Я решил отказаться от использования MySQL, а точнее полностью перевести все свои сервера на ее форк — MariaDB. Пользуясь случаем, хочу рассказать о процессе установки MariaDB 10.1 в Debian 8. Следует отметить, что краткое описание установки MariaDB есть на официальной странице проекта. Я решил выделить этому вопросу отдельный пост, в котором хочу описать необходимые действия после установки MariaDB на сервере.

Перед началом установки MariaDB необходимо добавить ее репозиторий. На сайте MariaDB рекомендуют для этого установить пакет software-properties-common . Я не вижу в этом никакого смысла и предпочитаю все делать вручную.

Регистрируем GPG-ключ репозитория в системе:

Apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

Добавляем описание репозитория в файл sources.list . Открываем файл в редакторе nano:

Nano /etc/apt/sources.list

Копируем в конец следующие строки:

Deb http://lon1.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main deb-src http://lon1.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main

Обновляем список доступных пакетов:

Apt-get update

Запускаем процесс установки MariaDB 10.1:

Apt-get install mariadb-server

Во время установки нас попросят ввести пароль для пользователя root . На этом процесс установки MariaDB в Debian 8 закончен. А теперь переходим к настройке сервера.

Чтобы повысить надежность нашего сервера, нужно выполнить минимальные требования безопасности. Запретить авторизацию под пользователем root с удаленных хостов. При наличии базы test и пользователя anonymous , нужно удалить их с сервера. Чтобы облегчить задачу используйте скрипт:

Mysql_secure_installation

Тип хранения данных по умолчанию

Если необходимо изменить тип хранения данных по умолчанию, добавьте в файл my.cnf следующие строки:

Default-storage-engine = innodb

Убедитесь, что MariaDB использует таблицы InnoDB по умолчанию. Для этого выполните команду:

SHOW ENGINES;

Создать пользователя и базу MariaDB

Чтобы создать пользователя в MariaDB используйте команду ниже:

CREATE USER "USER_NAME"@"localhost" IDENTIFIED BY "PASSWORD";

Создаем новую базу:

CREATE DATABASE database_name;

Даем полные права пользователю USER_NAME на базу databasename:

GRANT ALL PRIVILEGES ON database_name.* TO "USER_NAME"@"localhost";

Теперь нужно обновить все привилегии:

FLUSH PRIVILEGES

Для просмотра привилегий выполните команду:

SHOW GRANTS FOR "USER_NAME"@"localhost";

Бинарные логи

MariaDB записывает все изменения БД в бинарный журнал, он необходим для работы механизма репликации. Если вы не делали бэкапов или они устарели, бинарные логи можно использовать для восстановления данных. Впрочем, нет никакой гарантии, что данные будут полностью или частично восстановлены. Успех будет зависеть от размера, времени хранения бинарных логов, частоты выполнения бэкапа.

Для отключения бинарных логов, комментируем строки в файле my.cnf:

#log_bin = /var/log/mysql/mariadb-bin #log_bin_index = /var/log/mysql/mariadb-bin.index

2 января, 2017 12:16 пп 13 224 views | Комментариев нет

Требования

  • Сервер CentOS 7.
  • Пользователь с доступом к sudo.

Все необходимые инструкции можно найти в .

1: Установка MariaDB

Чтобы установить MariaDB, используйте репозиторий Yum. Запустите следующую команду и нажмите y, чтобы продолжить.

sudo yum install mariadb-server

После завершения установки запустите демон:

sudo systemctl start mariadb

Команда systemctl не показывает вывод некоторых команд. Чтобы убедиться, что демон запущен, введите:

sudo systemctl status mariadb

Если демон MariaDB был запущен, в выводе команды будут строки:

Active: active (running)
[…]
Dec 01 19:06:20 centos-512mb-sfo2-01 systemd: Started MariaDB database server.

Теперь нужно настроить автозапуск MariaDB. Для этого введите:

sudo systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

После этого нужно обеспечить безопасность данных.

2: Безопасность MariaDB

После завершения установки нужно запустить встроенный сценарий безопасности MariaDB, который изменяет некоторые опции по умолчанию и блокирует удалённый root-логин. Чтобы запустить сценарий, введите:

sudo mysql_secure_installation

Сценарий предоставляет подробное описание каждого шага. Сначала он запросит root-пароль. Поскольку в новой установке такого пароля пока нет, просто нажмите Enter. После этого сценарий предложит вам создать такой пароль. Введите сложный пароль и подтвердите его.

После этого сценарий задаст вам ряд вопросов. Чтобы принять данные по умолчанию, можете просто нажать Y и Enter. Сценарий заблокирует анонимных пользователей и удалённый root логин, удалит тестовые таблицы и перезагрузит привилегии.

3: Тестирование MariaDB

Теперь нужно убедиться, что установка MariaDB прошла успешно.

Попробуйте подключиться к БД с помощью инструмента mysqladmin (это клиент для запуска команд администрирования). Чтобы подключиться к MariaDB как root (-u root), ввести пароль (-p) и запросить версию программы, введите команду:

mysqladmin -u root -p version

Команда выведет:

mysqladmin Ver 9.0 Distrib 5.5.50-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Server version 5.5.50-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 4 min 4 sec
Threads: 1 Questions: 42 Slow queries: 0 Opens: 1 Flush tables: 2 Open tables: 27 Queries per second avg: 0.172

Это значит, что установка СУБД MariaDB прошла успешно.

Заключение

Теперь вы умеете выполнять базовую установку и настройку MariaDB.

Думаю всем известно, что MariaDB — это ответвление от MySQL. Разработку и поддержку MariaDB осуществляет компания MariaDB Corporation Ab и фонд MariaDB Foundation. Ведущий разработчик MariaDB — это всем известный Майкл Видениус, автор оригинальной версии MySQL.

На текущий момент актуальной является версия , которая была выпущена 13 февраля 2018 года. В новой версии MariaDB хранилище InnoDB было обновлено до выпуска 5.7.21, так же было исправлено более 100 ошибок, в том числе , которые могли быть использованы для инициирования удалённого отказа в обслуживании.

Давайте попробуем установить новую версию на чистую систему Debian 9.3 (Stretch).

Не буду скрывать, что мне очень нравится MariaDB и я давно отказался от использования Oracle MySQL в пользу MariaDB или Percona Server for MySQL о чем ни капли не жалею. MariaDB используется в качестве замены Oracle MySQL во многих Linux дистрибутивах. Так же MariaDB используется в качестве БД на большом количестве крупных сайтов, собственно и мой блог тоже не исключение — в качестве БД у меня используется MariaDB 10.2.

Исходные данные: ОС Debian 9.3 (Stretch);
Задача: Установить MariaDB 10.2.13 с минимум телодвижений и произвести базовую настройку БД;

В интернете можно найти много статей о том как установить MariaDB на Debian, но все они предлагают довольно громоздкие решения.
Есть так же , но она тоже не содержит простого решения, а ведь оно есть!

Установка MariaDB 10.2.13 на Debian 9:

1. Установка необходимых доп. пакетов:

Apt-get update apt-get install dirmngr wget -y

2. А теперь та самая простая магия, о которой нигде не написано — скачивание и запуск скрипта установки репозитария:

Wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod a+x mariadb_repo_setup ./mariadb_repo_setup --mariadb-server-version=10.2

Для информации:
Данный скрипт проанализирует вашу систему, установит GPG-ключи и добавит репозитарий в файл /etc/apt/sources.list.d/mariadb.list
Скрипт является официальным и поддерживает дистрибутивы: RHEL/CentOS 6 & 7, Ubuntu 16.04 LTS (xenial) & 18.04 (bionic), Debian 8 (jessie) & 9 (stretch) и SLES 12 и 15
Скрипт так же поддерживает установку репозитариев для разных версий MariaDB, MaxScale и MariaDB Tools, Вы можете скачать его и посмотреть все опции запуска:

./mariadb_repo_setup --help

P.S. Для любителей все делать руками , где можно более гибко выбрать нужный репозитарий в зависимости от географического положения вашего сервера.

3. Обновляем список пакетов:

Apt-get update

4. Устанавливаем последнюю версию MariaDB 10.2.x:

Apt-get install mariadb-server -y

В процессе установки инсталлятор попросит нас придумать пароль пользователя root, на данном этапе мы его оставим пустым и поменяем потом.

После установки проверим статус работы MariaDB:

# systemctl status mariadb ● mariadb.service - MariaDB 10.2.13 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Thu 2018-02-15 12:14:17 +05; 19s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 7270 (mysqld) Status: "Taking your SQL requests now..." CGroup: /system.slice/mariadb.service └─7270 /usr/sbin/mysqld # netstat -ltupn | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 7270/mysqld # ps -ef | grep [m]ysql mysql 7270 1 0 12:14 ? 00:00:00 /usr/sbin/mysqld

А так же попробуем подключиться к БД с помощью команды mysql (т.к. на этапе установки мы оставили пароль root пустым, то использовать опции -u root -p мы не будеи):

# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 10 Server version: 10.2.13-MariaDB-10.2.13+maria~stretch-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type "help;" or "\h" for help. Type "\c" to clear the current input statement. MariaDB [(none)]>

Мы успешно подключились к серверу MariaDB.

5. Теперь запустим мастер настройки безопасности:

Mysql_secure_installation

На вопрос:
Enter current password for root (enter for none):
нажимаем Enter, текущий пароль root у нас пустой.

И последний вопрос:
Reload privilege tables now?
вводим Y, да мы хотим перезагрузить таблицу привилегий для вступления их в силу.

После этого мы выполнили минимальные меры по защите нашего экземпляра MariaDB.

Попробуем теперь подключиться к базе:

# mysql ERROR 1045 (28000): Access denied for user "root"@"localhost" (using password: NO)

Как мы видим с пустым паролем root нас больше не пускают.

Подключимся с указанием дополнительных опций и вводом пароля:

# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 20 Server version: 10.2.13-MariaDB-10.2.13+maria~stretch-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type "help;" or "\h" for help. Type "\c" to clear the current input statement. MariaDB [(none)]>

Отлично, все получилось.

На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете .

Сейчас расскажу как установить MariaDB на Debian. Так же расскажу как ею пользоваться в своей теме «Установка MariaDB на Debian» все это будет подробно описано.

MariaDB является лёгкой заменой MySQL. MariaDB является аналогом MySQL и она стремится быть лучшим выбором для специалистов по базам данных, которые ищут надежный, масштабируемый SQL Server. Это руководство поможет начинающим установить и понять суть работы MariaDB на Debian 7 и 6. Для достижения этой цели, MariaDB Foundation тесно сотрудничает и совместно работает с большим сообществом пользователей и разработчиков в истинном духе свободного и открытого программного обеспечения, и выпускает ПО таким образом, чтобы оно было с высокой надежностью.

Толчком к созданию стала необходимость обеспечения свободного статуса СУБД (под лицензией GPL), в противовес неопределенной политике лицензирования MySQL компанией Oracle. Ведущий разработчик - Майкл Видениус, автор оригинальной версии MySQL и основатель компании Monty Program AB.

В MariaDB произошел отказ от подсистемы хранения данных InnoDB и его замена на XtraDB. Также включены подсистемы Aria (en:Aria (storage engine)), PBXT и FederateX.

Для начала, обновим ОС (чтобы было все самое новое):

# apt-get update # apt-get upgrade

Устанавливаем дополнения к питону:

# sudo apt-get install python-software-properties

Установка MariaDB

Во-первых, нужно импортировать ключ GPG, для того что бы APT проверил целостность пакетов и загрузил все:

# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

Создаем собственный MariaDB файл sources.list чтобы добавить репозиторий в него:

# vim /etc/apt/sources.list

Установка MariaDB 5.5 для Debian 7 wheezy

# MariaDB 5.5 repository list - created 2014-11-15 17:08 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main deb-src http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main

Установка MariaDB 5.5 для Debian 6 squeeze

# MariaDB 5.5 repository list - created 2014-11-15 17:14 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian squeeze main deb-src http://mirror.23media.de/mariadb/repo/5.5/debian squeeze main

Установка MariaDB 10.0 для Debian 7 wheezy

# MariaDB 10.0 repository list - created 2014-11-15 17:21 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main deb-src http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main

Установка MariaDB 10.0 для Debian 6 squeeze

# MariaDB 10.0 repository list - created 2014-11-15 17:22 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian squeeze main deb-src http://mirror.23media.de/mariadb/repo/10.0/debian squeeze main

Установка MariaDB 10.1 для Debian 7 wheezy

# MariaDB 10.1 repository list - created 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main deb-src http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main

Установка MariaDB 10.1 для Debian 6 squeeze

# MariaDB 10.1 repository list - created 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian squeeze main deb-src http://mirror.23media.de/mariadb/repo/10.1/debian squeeze main

После этого, обновляем систему (список всех репозиторией) и устанавливаем сервер с MariaDB:

# sudo apt-get update # sudo apt-get install mariadb-server

После чего начнется установка сервера MariaDB. Я выбрал 10.0 версию и по этому, приведу пример установки. В ходе установки, вас попросят ввесли пароль для MariaDB пользователя — root.

Вводим пароль и нажимаем OK. Так же нужно ввести 2-й раз (подтверждение). Процесс установки займет пару минут.

Использование MariaDB

В этом разделе вы узнаете, как подключиться к MariaDB и как пользоваться основными командами SQL.

Стандартный инструмент для взаимодействия с MariaDB является программа-клиент MySQL. Для начала, выполните следующую команду для подключения к MariaDB в качестве пользователя root:

# mysql -u root -p

Вводим пароль, тот который Вы вводили (создали) при установке.

Давайте попробуем создать простую базу данных, которую мы позже будем заполнения данными. Введите следующие команды, чтобы создать базу данных с именем TEST_DB, владельцем которого будет являться новый пользователь Test_User, так же командой установим пароль secret_password для пользователя:

MariaDB [(none)]> CREATE DATABASE test_db; MariaDB [(none)]> GRANT ALL PRIVILEGES ON test_db.* TO test_user@localhost IDENTIFIED BY "secret_password"; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit

Последняя строка (команда) выходит из пользователя root на MariaDB. И сейчас войдем как пользователь test_user:

# mysql -u testuser -p

Введем команду для того чтобы использовать только что созданную БД (test_db):

MariaDB [(none)]> USE test_db;

Создайте новую таблицу и заполните ее некоторым данным:

MariaDB [(none)]> CREATE TABLE products (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), price DECIMAL(6,2)); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ("MacBook_Pro", 3200.0); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ("Asus", 340.0); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ("HP", 745.0);

Убедитесь, что новые данные нормально вставлены:

MariaDB [(none)]> SELECT * FROM products;

Выйдите из клиента MariaDB выполнив:

MariaDB [(none)]> quit

Для получения дополнительной информации о командах SQL выполните:

MariaDB [(none)]> \h

Настройка MariaDB

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

# vim /etc/mysql/my.cnf

перезапустите сервер, выполнив следующую команду:

# service mysql restart

Безопастность MariaDB

# mysql_secure_installation

Вам будет предложено изменить пароль администратора, удалить анонимов, запретить вход за пределами локального хоста, удалить всех анонимов, и удалить тестовую базу данных. Рекомендуется, чтобы вы ответили «Y» на все вопросы.

Удаленные соединения пользователей

Давайте взглянем на то, как разрешить ранее созданному пользователю Test_User подключения к MariaDB удаленно (по умолчанию, MariaDB розрешает подключения только с локального хоста).

Открытие сервера MariaDB к Интернету делает его менее безопасным. Если вам необходимо подключить с другого сервера, то убедитесь, что вы применили правила брандмауэра, разрешающие соединения только с определенных IP-адресов.
Во-первых, мы должны предоставить пользовательские соединения с удаленными хостами для пользователя Test_user, для этого нужно войти в MariaDB как root:

# mysql -u root -p

Разрешаем пользователю Test_User подключения с удаленных хостов:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON test_db.* TO test_user@"%" IDENTIFIED BY "secret_password"; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit

Настройка MariaDB слушать все сетевые интерфейсы. Откройте файл /etc/mysql/my.cnf:

# vim /etc/mysql/my.cnf

[…]
bind-address = 0.0.0.0
[…]

Перезапустите сервер:

# service mysql restart

Проверка соединения с локального компьютера на вашем MariaDB сервере, заменив Test_User с вашим именем пользователя, и test_domain.com с вашим доменом или IP-адресом:

# mysql -u test_user -h test_domain.com -p

Если вошли успешно, вы должны увидеть приветствие MariaDB и shell prompt.

Тюнинг MariaDB

MySQL-тюнер является полезным инструментом, который подключается к работающему экземпляру MariaDB и предоставляет рекомендации по конфигурации на основе рабочей нагрузки. Вы должны позволить вашему экземпляру MariaDB работать не менее 24 часов перед запуском тюнера. Чем дольше экземпляр работает уже, тем лучший совет вам предложит тюнер.

Установите MySQL тюнер, выполнив следующую команду:

# apt-get install mysqltuner

Запустите MySQL тюнер с помощью следующей команды:

# mysqltuner

После чего он вам выдаст много весьма полезной информации. Обратите внимание рекомендации в конце. Это укажет вам, что необходимо изменить (какие переменные должны быть настроины) в разделе вашего /etc/mysql/my.cnf файла.

Как сбросить MariaDB root пароль?

Если вы забыли свой пароль суперпользователя (пароль от root), вы можете легко сбросить его, следуя приведенным ниже инструкциям.

Остановите сервер MariaDB:

# service mysql stop

Запустите сервер с skip-grant-tables, таким образом, вы можете войти на MariaDB без пароля:

# mysqld_safe --skip-grant-tables &

Теперь вы можете подключиться к серверу MariaDB как root без пароля:

# mysql -u root

В клиенте MariaDB, введите следующие команды, чтобы сбросить пароль для суперпользователя и выйти:

MariaDB [(none)]> USE mysql MariaDB [(none)]> UPDATE user SET password=PASSWORD("yournewpassword") WHERE user="root"; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit

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

# service mysql restart

Подключитесь к серверу MariaDB, используя новый пароль:

# mysql -u root -p

Установка MariaDB на Debian завершена. Надеюсь было понятно.