Несколько пользовательских приложений, использующих MySQL - PullRequest
1 голос
/ 05 апреля 2020

Я создаю пользовательское приложение в Python (например), которое использует MySQL. Поэтому я создал базу данных с именем application_db и для каждой новой учетной записи я создаю новую user. Когда я создам совершенно другое пользовательское приложение, которое будет работать на том же компьютере, я создам другую базу данных с именем new_application_db, а также создам новых пользователей. Меня беспокоит то, что table msyql.user будет содержать пользователей обоих приложений, что создает кучу проблем. Например, поиск пользователя в таблице с большим количеством данных, чем необходимо (если я использую приложение 2, мне не нужно знать о пользователях приложения 1), это повлияет на производительность. Кроме того, когда новый пользователь пытается использовать имя пользователя, он может этого не сделать, поскольку это имя пользователя используется другим пользователем из другого приложения.

Я думал, что создание соединения с другим портом может решить проблему. проблема. Хотя, когда я пытаюсь сделать это в MySQL Workbench, возникает ошибка get.

Другая мысль заключалась в создании нового сервера на компьютере. Хотя в документации MySQL единственное, что я нашел, относится к выражению CREATE SERVER, которое, я думаю, не решает проблему.

Какой будет наиболее подходящий способ решения проблемы?

Заранее спасибо и прошу прощения, если вопрос тупой. Я самоучка и новичок в мире MySQL.

1 Ответ

1 голос
/ 05 апреля 2020

Основная проблема в том, что вы неправильно понимаете, что означает mysql.user. mysql.user предназначен для хранения MySQL пользователей, которые отличаются от пользователей вашего приложения. mysql.user хранит пользователей на вашем сервере, которым разрешено входить непосредственно в MySQL, а не пользователей приложения.

Очень распространенная практика - хранить по одному mysql.user на приложение.

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

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

...