Содержание[Скрыть]
- 1 1. Обновим текущие пакеты до свежих версий и установим дополнительные, необходимые для установки MariaDB:
- 2 2. А теперь та самая простая магия, о которой мало где написано — скачивание и запуск скрипта установки репозитария:
- 3 3. Устанавливаем последнюю версию MariaDB 10.5.x:
- 4 4. Запустим MariaDB:
- 5 5. Настройка безопасности MariaDB:
1. Обновим текущие пакеты до свежих версий и установим дополнительные, необходимые для установки MariaDB:
1 |
$ sudo dnf update |
1 |
sudo dnf install curl |
1 |
sudo dnf install curl |
2. А теперь та самая простая магия, о которой мало где написано — скачивание и запуск скрипта установки репозитария:
1 |
$ curl https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash |
Для информации:
Данный скрипт проанализирует Вашу систему, установит GPG-ключи и добавит репозитарий в файл /etc/yum.repos.d/mariadb.repo
Скрипт является официальным и поддерживает дистрибутивы: RHEL/CentOS 6/7/8, Ubuntu 16.04 LTS (xenial) & 18.04 (bionic) & 20.04 (focal), Debian 8/9/10 и SLES 12/15
Скрипт так же поддерживает установку репозитариев для разных версий MariaDB, MaxScale и MariaDB Tools, Вы можете скачать его и посмотреть все опции запуска:
3. Устанавливаем последнюю версию MariaDB 10.5.x:
1 |
$ sudo dnf install MariaDB-server |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
MariaDB Server 205 kB/s | 592 kB 00:02 MariaDB MaxScale 1.3 kB/s | 7.1 kB 00:05 MariaDB Tools 3.1 kB/s | 2.6 kB 00:00 Зависимости разрешены. ====================================================================================================================================================================== Пакет Архитектура ВерсияРепозиторий Размер ====================================================================================================================================================================== Установка: MariaDB-server x86_64 10.5.9-1.el8 mariadb-main 27 M Установка зависимостей: MariaDB-client x86_64 10.5.9-1.el8 mariadb-main 13 M MariaDB-common x86_64 10.5.9-1.el8 mariadb-main 87 k MariaDB-shared x86_64 10.5.9-1.el8 mariadb-main 115 k galera-4 x86_64 26.4.7-1.el8 mariadb-main 12 M socat x86_64 1.7.3.3-2.el8 ol8_appstream 303 k Результат транзакции ====================================================================================================================================================================== Установка 6 Пакетов Объем загрузки: 52 M Объем изменений: 251 M Продолжить? [д/Н]: y |
4. Запустим MariaDB:
1 |
$ sudo systemctl start mariadb.service |
Добавим запуск MariaDB при старте ОС:
1 |
$ sudo systemctl enable mariadb.service |
После запуска проверим статус работы MariaDB:
1 |
$ sudo systemctl status mariadb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
● mariadb.service - MariaDB 10.5.9 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Tue 2021-04-06 19:00:40 +05; 55s ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 8263 (mariadbd) Status: "Taking your SQL requests now..." Tasks: 11 (limit: 4058) Memory: 93.0M CGroup: /system.slice/mariadb.service └─8263 /usr/sbin/mariadbd апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] InnoDB: 10.5.9 started; log sequence number 45106; transaction id 20 апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] Plugin 'FEEDBACK' is disabled. апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] InnoDB: Buffer pool(s) load completed at 210406 19:00:40 апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] Server socket created on IP: '::'. апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] Reading of all Master_info entries succeeded апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] Added new Master_info '' to hash table апр 06 19:00:40 localhost.localdomain mariadbd[8263]: 2021-04-06 19:00:40 0 [Note] /usr/sbin/mariadbd: ready for connections. апр 06 19:00:40 localhost.localdomain mariadbd[8263]: Version: '10.5.9-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server апр 06 19:00:40 localhost.localdomain systemd[1]: Started MariaDB 10.5.9 database server. |
Проверим порт и работу демона. Обратите внимание, что начиная с версии 10.5 все исполняемые файлы, начинающиеся со слова «mysql» переименованы с использованием слова «mariadb». Старые имена пока сохранены в форме символических ссылок, но нужно уже привыкать использовать вместо mysql слово mariadb.
1 |
$ sudo netstat -ltupn | grep maria |
1 |
tcp6 0 0 :::3306 :::* LISTEN 8263/mariadbd |
1 |
$ ps -ef | grep [m]aria |
1 |
mysql 8263 1 0 19:00 ? 00:00:00 /usr/sbin/mariadbd |
А так же попробуем подключиться к БД с помощью команды mariadb:
1 |
$ mariadb |
1 2 3 4 5 6 7 8 9 |
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.5.9-MariaDB MariaDB Server 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)]> |
1 |
MariaDB [(none)]> SELECT version(); |
1 2 3 4 5 6 |
+----------------+ | version() | +----------------+ | 10.5.9-MariaDB | +----------------+ 1 row in set (0.000 sec) |
Мы успешно подключились к серверу MariaDB.
5. Настройка безопасности MariaDB:
Очень важно выполнить этот пункт, а особенно задать очень сложный пароль пользователя root, т.к. по умолчанию MariaDB принимает сетевые соединения на всех сетевых интерфейсах и если Ваш сервер смотрит в интернет портом 3306, то неправильная настройка безопасности может стать причиной взлома базы данных.
Запускаем мастер настройки:
1 |
$ sudo mysql_secure_installation |
На вопрос: Enter current password for root (enter for none): нажимаем Enter, текущий пароль root у нас пустой.
Далее вопрос: Switch to unix_socket authentication [Y/n] вводим Y, если мы хотим оставить возможность аутентификации через unix-сокет — это нововведение появилось в 10.4, плагин позволяет использовать присутствующие в системе учётные записи для подключения к СУБД при помощи локального unix-сокета.
Далее вопрос: Change the root password? [Y/n] вводим Y, да мы хотим поменять пароль root и далее придумываем СЛОЖНЫЙ пароль root
Далее вопрос: Remove anonymous users? [Y/n] вводим Y, мы хотим удалить анонимного пользователя.
Далее вопрос: Disallow root login remotely? [Y/n] вводим Y, да мы хотим запретить подключаться под пользователем root с удаленных машин.
Далее вопрос: Remove test database and access to it? [Y/n] вводим Y, да мы хотим удалить тестовую базу test
И последний вопрос: Reload privilege tables now? [Y/n] вводим Y, да мы хотим перезагрузить таблицу привилегий для вступления их в силу.
После этого мы выполнили минимальные меры по защите нашего экземпляра MariaDB.
Чтобы проверить, что под root с пустым паролем нас не пустят нам нужно залогиниться под непривилегированным пользователем и попробовать выполнить (когда у нас спросят пароль root, мы нажмем Enter, тем самым пароль будет пустым):
1 |
$ mariadb -u root -p |
1 |
ERROR 1698 (28000): Access denied for user 'root'@'localhost' |
Как мы видим с пустым паролем root нас больше не пускают.
А теперь так же находясь под непривилегированным пользователем на запрос пароля введем его:
1 |
$ mariadb -u root -p |
1 2 3 4 5 6 7 8 9 10 |
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 20 Server version: 10.5.9-MariaDB MariaDB Server 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)]> |
Ваш комментарий будет первым