Инструменты пользователя

Инструменты сайта


mariadb

MariaDB install

Установка

Устанавливаем как обычно, на любименький Debian 9.9

apt-get update
apt-get install dirmngr curl -y

скрипт установки репозитария, скрипт проанализирует систему, установит GPG-ключи и добавит репозитарий в файл /etc/apt/sources.list.d/mariadb.list

curl https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash

Устанавливаем последнюю версию MariaDB, в данной статье это 10.4.6

apt-get install mariadb-server -y

Проверяем статус свежеустановленного сервиса

systemctl status mariadb
● mariadb.service - MariaDB 10.4.6 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 Mon 2019-07-08 13:57:24 MSK; 5min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 1678 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─1678 /usr/sbin/mysqld
...
Jul 08 13:57:24 nevvad.info systemd[1]: Started MariaDB 10.4.6 database server.

и слышно ли его в сети

netstat -ltupn | grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      1678/mysqld

Вот такой не хитрой командой попробуем подключится к бд

mysql

Настройка

Первым делом запускаем мастер настройки безопасности

mysql_secure_installation

# кратко пробегусь по опросному листу

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

Switch to unix_socket authentication [Y/n]
вводим Y, если хотим оставить возможность аутентификации через unix-сокет. Если нет n, его и введем.

Change the root password? [Y/n]
Тут все без слов понятно, вводим хитрый P@$$w0rd

Remove anonymous users? [Y/n]
гоним в шею

Disallow root login remotely? [Y/n]
Запрещаем root логин с удаленных хостов

Remove test database and access to it? [Y/n]
Тестовую базу оправляем в след анонимному юзеру

Reload privilege tables now? [Y/n]
перезагружаем таблицу привилегий для вступления их в силу

Проверяем. Заходим под непривилегированным пользователем, вводим пароль

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.4.6-MariaDB-1:10.4.6+maria~stretch mariadb.org binary distribution
....
# без пароля, пошлет в жопу
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Дополнительно

С версии 10.4 изменилась авторизация. Теперь после установки и настройки, пользователь root входит без пароля. Подробнее, в официальной документации. Для того, чтобы вернуть Password-based Authentication нужно выполнить следующие:

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
SET PASSWORD = PASSWORD('foo');
mariadb.txt · Последнее изменение: 2020/02/20 11:49 — admin