У меня есть облачный сервер с MySQL в нем. В этот момент я не могу соединиться со своего ПК на сервер с помощью любого из пользователей.
То, что это хочет, позволяют использовать mysqldump с определенным пользователем и только позволять канавке подключения один IP (мой IP, очевидно).
Как я делаю это?
Посмотрев в Интернете, я нашел этот ответ :
ssh usr@host mysqldump -u dbuser -ppass databasename > dumpfile.sql
И он отлично работает. Пользователю нужны только разрешения localhost. И мне не нужно открывать дополнительный порт.
Если вам нужно, чтобы какой-то конкретный пользователь делал резервные копии удаленно, эти настройки могут быть полезны:
GRANT SELECT, LOCK TABLES, SHOW VIEW, RELOAD ON *.* TO 'user'@'ip'
IDENTIFIED BY 'password';
Если вы хотите ограничить доступ, используйте брандмауэр. Позже вы можете использовать SSH (как вы говорите):
ssh usr@host mysqldump -u dbuser -ppass databasename > dumpfile.sql
Или получить доступ напрямую к порту MySQL:
mysqldump -h Your_host_name -u user_name -p password --all-databases > backup.sql