MySQL добавить пользователя для базы через консоль в Ubuntu Server 18.04

Задача: Создать базу данных в MySQL. Создать пользователя в MySQL. Присвоить новой базе данных, права нового пользователя. Все операции через консоль на Ubuntu Server 18.04.

В моем случае на ПК установлена  Ubuntu 16.04 (c интерфейсом unity) и еще поднято куча виртуальных ПК с xubuntu 18.04 и xubuntu 20.04.

В случае если на основном ПК Windows  рекомендую использовать программу putty.

Исходные данные:
Имеем VPS с установленным на нее:
OS: Ubuntu Server 18.04.06
Web: Apache/2.4.29
DB: mysql-server 5.7.39
PHP: 7.2.24
Доступ к VPS по ssh

Подключаемся к серверу по ssh:

В примере показано стандартное подключение к серверу по ssh используя логин и пароль.
server — меняем на название своего сервера или IP;
username — меняем на имя своего пользователя
-p22 — стандартный порт ssh 22, в таком случае эту опцию можно не указывать. если порт изменен на не стандартный, например 2233, тогда опция будет выглядеть -p2233.
Так же можно подключатся по публичному ключу, в данном примере не рассматривается.

 

Создаем базу данных, пользователя, подключаем  пользователя к базе через консоль на MySQL

 

Подключаемся к mysql:

Если доступ к серверу по root (что не рекомендуется), просто вводим mysql.
Если имя пользователя отлично от root, то username должен иметь sudo.

Вводим пароль sudo и получаем вывод:

Просмотреть список баз данных:

Создаем базу данных, например db_test_1:

Не забываем в конце ставить знак ; (точку с запятой)

Создаем пользователя для нашей базы данных db_test_1, c именем пользователя db_user_test и паролем для этого пользователя password_test

Присваиваем нашей базе db_test_1 пользователя db_user_test:

Все пользователи MySQL, имеющие доступ только к локальным подключениям, имеют учетную запись вида user@localhost. Чтобы разрешить пользователю подключаться удаленно, нужно добавить для него учетную запись user@нужный_IP (или user@%, тогда будет возможно подключение с любого IP).

В нашем случае если доступ из мира к стандартному порту 3306 открыт, то можно подключатся.

Обновляем данные:

Выходим из консоли mysql:

в целях безопасности для каждой базы данных лучше создавать отдельных пользователей.

Теперь смело можно устанавливать например wordpress с новыми данными.

Если подключение локальное то в поле сервере указывать localhost если удаленное, то данные сервера, например: db.my_db_server.com или по IP.

Дополнение:

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

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

В случае открытия доступа в мир при установке или настройке mysql server.

Если пользователю нужно подключение ко всем базам вместо одной конкретной:

Ограничение доступа из мира средствами firewall на Ubuntu 18.04:

Если используется iptables:

* 95.45.67.8 заменить на свой, если он статический конечно.

Если используется UFW:

* 95.45.67.8 заменить на свой, если он статический конечно.

Проверить, что пользователь может подключиться к MySQL удаленно.

Еще можно использовать ключ -P port если порт отличный от стандартного для mysql 3306.

На этом, пожалуй все.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *