Как установить MariaDB в Arch Linux

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

Они предлагают различные функции и инструменты, такие как языки запросов, индексирование, транзакции, резервное копирование и восстановление, репликацию и масштабируемость, для оптимизации производительности и функциональности данных. Обычно использование дистрибутивов Linux, таких как Arch Linux, является популярным способом управления этими базами данных, а MariaDB — одним из наиболее часто используемых инструментов баз данных, основанным на системе управления реляционными базами данных.

Как установить MariaDB в Arch Linux

Установить MariaDB в Arch Linux можно только одним способом — использовать менеджер пакетов по умолчанию, хотя он имеет немного старую версию. Если вы ищете более новую версию и используете дистрибутивы Linux на базе Debian, вы можете посетить их официальный сайт. В случае Arch Linux для установки MariaDB выполните:

pacman -S mariadb

Теперь инициализируйте каталог данных MariaDB и создайте системные таблицы в базе данных MySQL и для этого выполните:

sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Он работает путем запуска процесса mysqld сервера MariaDB в режиме –-bootstrap и отправки команд для создания системных таблиц и их содержимого. Опции –-user, –-basedir и –-datadir определяют имя пользователя, от имени которого будет запускаться mysqld, каталог установки и каталог данных соответственно. Эта команда предназначена только для Linux/Unix. Более того, эта команда также полезна для настройки MariaDB в новой системе или после обновления с предыдущей версии.

Затем активируйте службу MariaDB в Arch Linux и сначала включите ее, а затем запустите с помощью команды systemctl:

sudo systemctl enable mariadb 

sudo systemctl start mariadb

Установка MariaDB по умолчанию делает ее небезопасной, что может привести к нарушениям безопасности, и для этого необходимо предотвратить несанкционированный доступ к вашему серверу базы данных и данным. Итак, чтобы настроить параметры безопасности и улучшить безопасность сервера MySQL или MariaDB в системах Linux, выполните:

sudo mysql_secure_installation

Кроме того, он позволяет вам установить пароль для пользователя root, удалить корневые и анонимные учетные записи, удалить тестовую базу данных и перезагрузить таблицы привилегий пользователя. Теперь по выполнении команды вы получите несколько подсказок:

Переключитесь на аутентификацию unix_socket: если вы хотите использовать плагин unix_socket для аутентификации пользователя root путем сопоставления имени пользователя системы и имени пользователя MariaDB. Вы можете избежать паролей и быть в большей безопасности, но только для подключений внутри одной сети. Рекомендуемый ответ — «Да», если вам нужен доступ к MariaDB только с правами root с того же компьютера, или «Нет», если вам нужно подключиться удаленно или использовать другое имя пользователя в системе.

Измените пароль root: Если вы еще не установили пароль или хотите использовать более надежный пароль, вам следует ответить «Да» и ввести новый пароль. В противном случае вы можете ответить «Нет», чтобы сохранить существующий пароль.

Удалите анонимных пользователей. В этом запросе вас спросят, хотите ли вы удалить анонимных пользователей, которые создаются по умолчанию при установке MariaDB. Анонимные пользователи могут представлять угрозу безопасности, поскольку они могут получить доступ к любой базе данных, которая не защищена явно. Рекомендуемый ответ — «Да», чтобы удалить анонимных пользователей.

Запретите удаленный вход в систему. В этом запросе вас спросят, хотите ли вы запретить пользователю root удаленный вход в систему. Разрешение удаленного входа в систему для пользователя root может подвергнуть ваш сервер MariaDB атакам из сети. Рекомендуемый ответ — «Да», чтобы отключить удаленный вход в систему для пользователя root.

Удалите тестовую базу данных и получить к ней доступ. В этом приглашении вас спросят, хотите ли вы удалить тестовую базу данных, созданную по умолчанию при установке MariaDB. Доступ к тестовой базе данных может получить любой пользователь, даже анонимный, и ее можно использовать для проверки вредоносных запросов или использования уязвимостей. Рекомендуемый ответ — «Да», чтобы удалить тестовую базу данных и привилегии, разрешающие доступ к ней. Однако вы можете ввести «Нет», если хотите сохранить тестовые базы данных для целей тестирования и обучения.

Обновите привилегии таблицы. В этом запросе вас спросят, хотите ли вы перезагрузить привилегии таблицы после внесения вышеуказанных изменений. Это необходимо для применения новых настроек безопасности к серверу MariaDB. Рекомендуемый ответ — «Да», чтобы перезагрузить привилегии таблицы.

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

sudo mariadb-upgrade

Теперь войдите в инструмент базы данных MariaDB, используя учетную запись root. Если вы создали другого пользователя, замените root его именем пользователя:

mysql -u root -p

Теперь, как вы можете видеть на изображении выше, есть предупреждение об использовании mysql, в котором говорится, что вместо этого следует использовать mariadb, поскольку он будет устаревшим в более новых версиях, хотя вы все равно можете использовать его для входа в систему:

sudo mariadb -u root -p

Когда вы находитесь на сервере базы данных, все готово и вы можете создавать пользователей, базы данных и управлять ими, чтобы составить список всех запущенных баз данных:

SHOW DATABASES;

Примечание. Как я уже упоминал ранее, файл новой версии MariaDB доступен на официальном сайте, но в Arch Linux существуют некоторые проблемы с зависимостями, из-за которых его невозможно установить. Это связано с тем, что зависимости, необходимые для установки файла tar.gz в Arch Linux, устарели.

Здесь я попытался установить yaourt и другие помощники AUR в Arch, но процесс не увенчался успехом, поскольку репозиторий, необходимый для установки yaourt в Arch, не работает, как вы можете видеть ошибку на изображении ниже:

Как использовать MariaDB в Arch Linux

MariaDB может обеспечить работу веб-сайтов, которым необходимо обрабатывать большие объемы контента, таких как блоги, новостные порталы, сайты электронной коммерции и т. д. Он может обрабатывать данные журналов из различных источников, таких как веб-серверы, приложения и устройства. MariaDB бесплатна и имеет открытый исходный код под лицензией GPLv2, что означает, что вы можете использовать ее без каких-либо ограничений и комиссий. Здесь я объяснил некоторые основы использования MariaDB:

Шаг 1: Создание базы данных в MariaDB

База данных — это, прежде всего, набор данных, относящихся конкретно к одному объекту, например, список сотрудников и их данные о компании или любой набор показаний, касающихся любого эксперимента. Итак, чтобы собрать все данные в одном месте, вам сначала нужно создать базу данных и выполнить:

CREATE DATABASE <имя-базы-данных>;

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

SHOW DATABASES;

2. Создайте пользователя в MariaDB.

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

CREATE USER '<имя-пользователя>'@'localhost' IDENTIFIED BY '<пароль-пользователя>';

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

sudo mariadb -u <имя-пользователя> -p<пароль> -h localhost

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

mariadb -u <имя пользователя> -p

Так же, как и список баз данных в MariaDB, вы также можете перечислить пользователей, имеющих доступ к MariaDB в Arch Linux, и для этого выполнить:

SELECT User FROM mysql.user;

3. Предоставление привилегий в MariaDB

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

Чтобы сначала предоставить привилегии пользователю, вам необходимо войти в систему, используя учетную запись администратора, а затем перечислить все привилегии, которые могут быть предоставлены пользователю, вместе с его командой и для этого выполнить:

SHOW PRIVILEGES;

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

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, EVENT, TRIGGER, DELETE HISTORY ON <database-name>.* TO '<user-name>'@'localhost';

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

SHOW GRANTS;

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

SELECT User, Db, Host from mysql.db;

4. Предоставление одинаковых привилегий нескольким пользователям

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

CREATE ROLE <имя-роли>;

Теперь я создал роль с именем MANAGER и предоставил ей те же разрешения, используя команду GRANT вместе с именем базы данных:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES,INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, EVENT, TRIGGER, DELETE HISTORY ON test.* to 'MANAGER';

Поскольку я уже создал пользователя и предоставил ему права доступа к тестовой базе данных, я предоставил роль менеджера пользователю User2, указав его имя пользователя и пароль:

GRANT MANAGER TO '<пользователь>'@'localhost' IDENTIFIED BY '<пароль>';

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

GRANT ALL PRIVILEGES ON '<имя_базы>'.* TO '<пользователь>'@localhost;

Теперь, если вы хотите лишить пользователя всех привилегий в случае, если вы назначили ему роль, тогда выполните:

REVOKE <выданная-роль> FROM <пользователь>@localhost;

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

REVOKE ALL PRIVILEGES ON *.* FROM '<пользователь>'@'localhost';

5: Удаление базы данных в MariaDB

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

DROP DATABASE <имя-базы-данных>;

6. Удаление пользователя в MariaDB

Далее, если вы хотите удалить пользователя из базы данных MariaDB в Arch Linux, то выполните команду drop:

DROP USER  <имя-пользователя>@localhost;

Кроме того, если вам нужна дополнительная помощь по командам, используемым для работы с MariaDB, вы можете обратиться к ее справке:

help

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

Как удалить MariaDB из Arch Linux

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

sudo systemctl stop mariadb

Теперь, чтобы удалить его из Arch, используя менеджер пакетов по умолчанию вместе с флагом Rns, как показано в команде ниже:

sudo pacman -Rns mariadb

Затем удалите каталог MariaDB из Arch Linux и перезагрузите систему, чтобы применить изменения:

sudo rm -r /var/lib/mysql

Заключение

MariaDB — это инструмент управления базами данных с открытым исходным кодом, который можно использовать бесплатно. Для его установки в Arch Linux используйте установщик пакетов по умолчанию. После установки обеспечьте его безопасность, выполнив команду sudo mysql_secure_installation. По сравнению с MySQL, MariaDB предлагает больше функций и возможностей, что делает ее предпочтительным выбором для большинства пользователей.