Установка и настройка серверов баз данных

MySQL

  1. Устанавливаем MySQL — сервер:

apt-get update && apt-get install -y MySQL-server
  1. Включаем и добавляем в автозагрузку:

systemctl enable --now mysqld
  • по умолчанию доступ из сети к MySQL отключён

  1. Задать пароль для пользователя «root» в MySQL:

mysql -u root

ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';
  • где: P@ssw0rd — пароль для входа в MySQL под пользователем «root»

таким образом, доступ к MySQL без ввода пароля больше не пройдёт:

  1. Разрешаем доступ к MySQL из сети:

sed -i "s/skip-networking/#skip-networking/g" /etc/my.cnf.d/server.cnf

systemctl restart mysqld

  • разрешаем доступ для пользователя «root» по сети с любого узла:

mysql -u root -p

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
UPDATE mysql.user SET host='%' WHERE user='root';
EXIT;

systemctl restart mysqld

Проверяем:

  • на сервере:

  • удалённое подключение

  1. Создание базы данных и пользователя с правами на базу данных:

mysql -u root -p
  • создание базы данных:

CREATE DATABASE db01;

где: db01 — имя создаваемой базы данных;

  • создание пользователя:

CREATE USER 'user01'@'%' IDENTIFIED BY 'P@ssw0rd';

где:

  • user01 — имя создаваемого пользователя;

  • P@ssw0rd — пароль для пользователя:

  • Знак процента означает, что пользователь может подключаться к серверу с любого хоста

  • назначаем пользователю user01 права на полный доступ к базе данных db01:

GRANT ALL PRIVILEGES ON db01.* TO 'user01'@'%' WITH GRANT OPTION;

Проверяем:

Также проверяем вход из под созданного пользователя:

  • как локально:

  • так и удалённо в данном случае:

MariaDB

  1. Устанавливаем MariaDB — сервер:

apt-get update && apt-get install -y mariadb-server
  1. Включаем и добавляем в автозагрузку:

systemctl enable --now mariadb
  1. Задать пароль для пользователя «root» в MySQL:

mariadb -u root

ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';
  • где: P@ssw0rd — пароль для входа в MariaDB под пользователем «root»

таким образом, доступ к MariaDB без ввода пароля больше не пройдёт:

  1. Разрешаем доступ к MariaDB из сети:

sed -i "s/skip-networking/#skip-networking/g" /etc/my.cnf.d/server.cnf

systemctl restart mariadb

  • разрешаем доступ для пользователя «root» по сети с любого узла:

mariadb -u root -p

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'P@ssw0rd';
EXIT;

systemctl restart mariadb

Проверяем:

  • на сервере:

  • удалённое подключение

  1. Создание базы данных и пользователя с правами на базу данных:

mariadb -u root -p
  • создание базы данных:

CREATE DATABASE db01;

где: db01 — имя создаваемой базы данных;

  • создание пользователя:

CREATE USER 'user01'@'%' IDENTIFIED BY 'P@ssw0rd';

где:

  • user01 — имя создаваемого пользователя;

  • P@ssw0rd — пароль для пользователя:

  • Знак процента означает, что пользователь может подключаться к серверу с любого хоста

  • назначаем пользователю user01 права на полный доступ к базе данных db01:

GRANT ALL PRIVILEGES ON db01.* TO 'user01'@'%' WITH GRANT OPTION;

Проверяем:

Также проверяем вход из под созданного пользователя:

  • как локально:

  • так и удалённо в данном случае:

PostgreSQL

  1. Устанавливаем PostgreSQL — сервер:

apt-get update && apt-get install -y postgresql16-server
  1. Создаём системные базы данных:

/etc/init.d/postgresql initdb

  1. Включаем и добавляем в автозагрузку PostgreSQL:

systemctl enable --now postgresql
  • по умолчанию доступ из сети к PostgreSQL отключён:

  1. Разрешаем доступ к PostgreSQL из сети:

vim /var/lib/pgsql/data/postgresql.conf
  • в конфигурационном файле находим строку «listen_addresses = ‘localhost'» и приводим её к следующему виду:

  • тем самым разрешая доступ из любых сетей;

Перезапускаем PostgreSQL:

systemctl restart postgresql

  1. Работа под администратором:

  • Для заведения пользователей и создания баз данных, необходимо переключиться в учётную запись «postgres»:

psql -U postgres
  • зададим пароль для пользователя «postgres»:

ALTER USER postgres WITH ENCRYPTED PASSWORD 'P@ssw0rd';

где: «postgres» — имя пользователя, а «P@ssw0rd» — пароль для пользователя «postgres«

  1. Настраиваем парольную аутентификацию для удалённого доступа:

vim /var/lib/pgsql/data/pg_hba.conf
  • добавляем следующую запись:

  • перезапускаем PostgreSQL:

systemctl restart postgresql

Проверяем удалённое подключение из под пользователя: «postgresql» с ранее заданным паролем: «P@ssw0rd«:

  1. Создание базы данных и пользователя с правами на базу данных:

psql -U postgres
  • создать базу данных с именем — «db01«:

CREATE DATABASE db01;
  • создать пользователя с именем — «user01» и паролем — «P@ssw0rd«:

CREATE USER user01 WITH PASSWORD 'P@ssw0rd';
  • выдать пользователя — «user01» полные права на базу данных — «db01«:

GRANT ALL PRIVILEGES ON DATABASE db01 to user01;

Проверяем:

Также проверяем вход из под созданного пользователя:

  • как локально:

  • так и удалённо в данном случае: