Как установить MariaDB в Ubuntu 20.04

В этой статье мы расскажем, как установить MariaDB на операционную систему Ubuntu 20.04, а также как настроить и создать учётную запись с правами администратора.

Важно! Если вы ещё не нашли подходящее решение для хостинга, мы готовы предоставить вам VPS/VDS хостинг Linux с поддержкой Ubuntu. Получите полный контроль над сервером, гибкость настройки и высокую производительность по выгодной цене. И конечно же обеспечьте стабильную работу своих проектов и приложений с помощью выделенных ресурсов и эксклюзивного доступа к серверу! 

Что такое MariaDB

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

Ключевые характеристики MariaDB, которые помогут вам ближе познакомиться с этой СУБД:

  • Открытый исходный код. У MariaDB открытый исходный код, а это означает, что она доступна для свободного использования, распространения и изменения. 
  • Совместимость с MySQL. MariaDB полностью совместима с MySQL. Это означает, что код и запросы, созданные для MySQL, будут работать в MariaDB без изменений. Таким образом, миграция вашей базы данных с MySQL на MariaDB будет практически безболезненной.
  • Высокая производительность. MariaDB включает различные оптимизации и улучшения, которые могут привести к более высокой производительности в сравнении с MySQL. Это может быть особенно полезно для проектов с высокой нагрузкой на базу данных.
  • Новые возможности. MariaDB предоставляет набор новых функций и возможностей, которых нет в стандартном MySQL. Некоторые из них включают поддержку новых хранилищ данных (например, Aria, XtraDB, и других), индексирование столбцов JSON, возможность работы с временными таблицами и многое другое.
  • Активное сообщество разработчиков. У MariaDB есть широкое сообщество разработчиков, которое активно работает над улучшением и развитием системы. А это значит, что вы гарантированно будете получать регулярные обновления, исправление ошибок и обновление безопасности.
  • Поддержка ОС и интеграция. MariaDB поддерживается и доступна на различных операционных системах, включая Linux, Windows и macOS. Она также интегрируется с различными программными платформами и языками программирования, что делает её удобным выбором для разработчиков и системных администраторов.

Как установить MariaDB в Ubuntu 20.04

  1. Откройте терминал. 
  2. Обновите пакеты с помощью следующей команды:

sudo apt update

  1. Теперь, когда список пакетов обновлён, можно приступить к установке MariaDB. Для этого пропишите:

sudo apt install mariadb-server

  1. При выполнении этой команды, возможно, вас попросят подтвердить установку. В таком случае нажмите Y, а затем – Enter.
  2. Далее вам будет необходимо установить пароль для учётной записи суперпользователя – «root». Введите желаемый пароль и подтвердите его, нажав Enter
  3. По завершении установки БД не запустится автоматически. Чтобы запустить MariaDB и настроить её для автозапуска при загрузке системы, выполните следующие команды:

sudo systemctl start mariadb

sudo systemctl enable mariadb

Готово! Вы успешно установили MariaDB на Ubuntu 20.04. 

Как настроить отдельную учётную запись с правами администратора

В MariaDB на Ubuntu пользователь «root» по умолчанию настроен на аутентификацию с использованием подключаемого плагина unix_socket. Это позволяет значительно повысить безопасность установки и дальнейшей работы с БД. Однако это также может усложнить ситуацию, когда вам потребуется предоставить права администратора сторонней программе (например, phpMyAdmin).

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

Поэтому вместо изменения root рекомендуется создать отдельную административную учётную запись.

Так давайте создадим новую учётную запись с теми же возможностями, что есть у суперпользователя, но настроенную для аутентификации по паролю. 

  1. Запустите команду для входа в MariaDB с правами администратора:

sudo mysql -u root -p

  1. Создайте новую учётную запись:

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

Где:

«mariadb_username» – имя пользователя, которое вы хотите установить;

«password» – пароль, который вы хотите установить.

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

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

Где:

«mariaDB_username» — имя пользователя, которое вы задали в предыдущем шаге.

  1. Чтобы применить изменения и обновить привилегии, введите:

FLUSH PRIVILEGES;

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

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

Возможные ошибки при работе с MariaDB

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

Вот некоторые из возможных ошибок, с которыми вы можете столкнуться при работе с MariaDB:

Ошибка доступа (Access Denied Error)

Эта ошибка возникает, когда у пользователя нет прав доступа к базе данных или таблице, либо у вас недостаточно привилегий для выполнения определённой операции.

Ошибка соединения (Connection Error)

Возникает, когда MariaDB не может установить соединение с сервером БД, например, из-за неправильных учётных данных, некорректно настроенного хоста или проблем с сетью.

Ошибка доступа к файлу журнала (Error accessing log file)

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

Ошибка недопустимого значения (Invalid Value Error)

Возникает, когда вы пытаетесь вставить или обновить данные с недопустимым значением в столбце.

Ошибка нехватки памяти (Out of Memory Error)

Она появляется, когда MariaDB не может выделить достаточно памяти для выполнения операции, и та прерывается.

Ошибка загрузки сервера (Server Not Running in Specified Location)

Если вы получили следующее сообщение:

mariadb -uname -p -uname -p

ERROR 2002 (HY000): Can't connect to local MySQL server through 

  socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")

или

mariadb -uname -p --port=3307 --protocol=tcp

ERROR 2003 (HY000): Can't connect to MySQL server on  'localhost' 

  (111 "Connection refused")

Сервер либо просто не работает, либо не работает на указанном порту, сокете или канале. Убедитесь, что используете корректные параметры хоста, порта, канала, сокета и протокола. 

Ошибка подключения от удалённого клиента (Unable to Connect from a Remote Location)

Обычно сервер MariaDB по умолчанию не принимает подключения от удалённого клиента или подключение с помощью TCP и имени хоста, поэтому, чтобы решить эту проблему, необходимо его настроить:

(/my/maria-10.4) ./client/mysql --host=myhost --protocol=tcp --port=3306 test

ERROR 2002 (HY000): Can't connect to MySQL server on 'myhost' (115)

(/my/maria-10.4) telnet myhost 3306

Trying 192.168.0.11...

telnet: connect to address 192.168.0.11: Connection refused

(/my/maria-10.4) perror 115

OS error code 115:  Operation now in progress

Ошибка запросов (Host is blocked because of many connection errors)

Эта ошибка означает, что база данных MariaDB получила много прерванных запросов от клиента, и количество этих ошибок превысило системную переменную max_connect_errors. 

По умолчанию значение переменной max_connect_errors равно 100.

Как провести диагностику MariaDB

Итак, мы рассмотрели возможные ошибки, которые могут появиться при работе с MariaDB. Однако в некоторых случаях вы не будете знать, что именно мешает работе СУБД. 

Диагностика MariaDB в Ubuntu 20.04 поможет вам выявить проблемы, связанные с установкой, настройкой или работой этой системы. 

Шаг 1. Проверка статуса службы MariaDB

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

sudo systemctl status mariadb

Если всё работает нормально, вы увидите сообщение о её текущем статусе и активации.

Шаг 2. Проверка журналов ошибок

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

Чтобы посмотреть журналы ошибок MariaDB, введите следующую команду:

sudo journalctl -u mariadb

Если вы всё-таки обнаружите какие-либо ошибки или предупреждения, их содержание поможет определить причину проблемы.

Шаг 3. Проверка конфигурации MariaDB

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

sudo mysqladmin -u root -p variables

Она покажет список переменных и значений конфигурации MariaDB.

Шаг 4. Проверка подключения к MariaDB

В некоторых случаях проблемы возникают из-за невозможности подключения к серверу MariaDB. Вы можете проверить, доступен ли сервер (и работает ли он вообще), прописав команду:

sudo mysqladmin -u root -p ping

Если сервер работает нормально, вы увидите сообщение «mysqld is alive».

Шаг 5. Проверка таблиц и баз данных

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

sudo mysql -u root -p

  • После входа в систему MariaDB вы можете открыть список БД:

SHOW DATABASES;

  • Для выбора конкретной базы данных используйте команду:

USE имя_базы_данных;

  • Чтобы открыть список таблиц в выбранной базе данных, введите:

SHOW TABLES;

  • Вы также можете проверить статус таблицы, выполнив команду:

SHOW TABLE STATUS FROM имя_базы_данных LIKE 'имя_таблицы';

Заключение

В данном руководстве мы рассмотрели процесс установки MariaDB в Ubuntu 20.04 и некоторые другие аспекты, связанные с работой в этой СУБД.

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

Всё ещё остались вопросы?