SQL

Под каким пользователем нужно работать в MySQL?

Установил MySQL в Debian для изучения. Подключился к БД mysql от пользователя root.
Но после подключения dbeaver не отображает эту БД, есть только sys.

1. Можно ли работать в mysql под root? Или нужно создать пользователя, который может только редактировать определенную БД?
2. Как создавать пользователей и редактировать их права?
3. Как подключиться к БД из удаленного компьютера? Из удаленного компьютера соединение не проходит
Можно если ты работаешь локально
СЛ
Сайрам Ленин
86 581
Лучший ответ
1. Из под root работать можно, но не нужно: это слишком большая дыра в безопасности. В идеальном случае создать на каждую базу данных минимум двух пользователей: для администрирования этой базы данных (отключить управление пользователями и всё прочее, что не связано с созданием / редактированием / удалением компонентов БД и данных) и для пользовательского доступа к этой базе данных (оставить только работу с данными).

2. https://losst.ru/sozdanie-polzovatelya-mysql

3. Разрешить пользователю MySQL подключение c внешних IP-адресов. Но так делать НЕ нужно (опять же, дыра в безопасности): тот же dBeaver умеет подключаться к MySQL через SSH-тоннель - в этом случае задаются 2 авторизации (к серверу по SSH и к самой СУБД), но пользователю MySQL достаточно разрешить подключаться только с localhost.
Да, на машине разработчика можно и под рутом работать. На боевом сервере - для каждого проекта использовать свою ограниченную учётную запись, в результате в случае взлома одного из них получат доступ только к базам данных, принадлежащим этому проекту, но не ко всем базам данных на сервере. Удалённый доступ открыть можно, для этого MySQL-сервер должен торчать голой жопой наружу, а у пользователя хост должен быть прописан, как % (означающий возможность подключения с любых хостов), но лучше конечно использовать SSH-туннель, как выше посоветовали.