Установка MariaDB 10.5.x на Oracle Linux 8
Содержимое
- 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
22
23
24
|
● 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)]>
|