DredWulf
@DredWulf

Как изменить место хранения БД для определенного пользователя?

Есть Java приложение, которое в перспективе должно работаь с БД.
Я только начал осваивать MySQL и не понял, как организовано хранение баз данных. Я предполагал, что БД должна храниться в папке с приложением. Однако при выполнении SQL запросов (от root) на создание базы данных, я обнаружил, что она создается в /var/lib/mysql/...
Я предполагаю, что правильно будет создать пользователя MySQL, а мое Java приложение авторизуется этим пользователем и будет взаимодействовать с БД. Как же мне настроить для этого пользователя путь сохранения БД, чтобы она создавалась в папке с приложением и далее приложение могло с ней взаимодействовать на правах, выданным пользователю.
  • Вопрос задан
  • 199 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
MySQL построен по клиент-серверной технологии. С файлами базы данных работает сервер, к которому обращаются клиенты. Сервер может располагаться на том же компьютере, что и клиент, или на другом, доступном через сеть. Такая технология используется, как правило, когда все экземпляры приложения работают с одной общей базой данных.
Если вам надо держать отдельную базу данных для каждого экземпляра приложения, то смотрите в сторону SQLite.
Ответ написан
romesses
@romesses
Backend инженер
Большинство СУБД хранят данные в директориях со своим расположением. В Линуксе изменчивые (variable) данные хранятся в /var. Не должно быть никаких проблем с тем что данные хранятся именно там. Все, что создается пользователем, доступно только тем, у кого есть доступ к схемам БД и таблицам.

Из тех немногих СУБД, которые позволяют хранить данные в той же директории, что и приложение, можно упомянуть SQLite. Это единственный файл, в котором находятся все данные и они доступны любому, у кого есть доступ к файлу. В SQLite нет аутентикации пользователей.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы