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

StackOverflow https://stackoverflow.com/questions/1890823

Вопрос

Я создаю приложение на C++, использующее базу данных MySQL.Я бы хотел, чтобы приложение создало себе учетную запись, если это возможно.Я не нашел способа сделать это.

Каждый раз, когда я портирую свое приложение, я забываю последовательность настройки.Текущая последовательность настройки требует создания учетной записи в MySQL для использования приложением.Как только приложение получит учетную запись и привилегии, оно сможет создать базу данных и настроить таблицы.

Кроме того, это будет немного раздражать моих конечных пользователей.Мое приложение было бы проще использовать, если бы оно могло выполнить всю настройку.

Во всех примерах, которые я нашел, указано, что перед запуском приложения необходимо сначала создать учетную запись пользователя в MySQL.В инструкциях обычно рассказывается, как создать учетную запись с помощью приложения командной строки MySQL.Но я хочу, чтобы мое приложение создало собственную учетную запись в MySQL.

Я использую Visual Studio 2008, язык C++ и MySQL Connector C++ 1.0.5.Платформа — Windows XP или Vista.Соединитель использует API, аналогичный Java JDBC API.Я приму примеры на Java или C++.

Кстати, у меня были проблемы с использованием ODBC, так что об этом не может быть и речи.

Спасибо.

Это было полезно?

Решение

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

Кроме того, пользователям очень часто приходится предоставлять учетные данные учетной записи базы данных во время установки/настройки, даже если это «раздражает».Если ваше приложение использует базу данных, пользователи должны иметь дело с сервером базы данных и параметрами учетных данных самостоятельно.

К сожалению, клиент базы данных (JDBC/ODBC) и язык (Java/C++) не имеют отношения к вашей дилемме.

Если для вашего приложения вам нужна только легкая внутренняя база данных, возможно, вам следует изучить Встроенная база данных SQLite вместо MySQL.Это позволит базе данных вашего приложения существовать автономно, без какой-либо настройки пользователя.

Другие советы

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

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

Вы можете создавать учетные записи и таблицы и...все из SQL-запроса.

Во-первых, создайте учетную запись по умолчанию, у которой будет достаточно привилегий для создания нового пользователя/таблицы/базы данных, но недостаточно привилегий, чтобы сжечь это место.

Во-вторых, когда пользователь впервые запускает ваше приложение, на серверной стороне ваша программа входит в базу данных MySQL и отправляет SQL-запрос в базу данных MySQL, чтобы создать пользователю нового пользователя/таблицу/базу данных.

В-третьих, ваше приложение выходит из учетной записи по умолчанию и входит в вновь созданную учетную запись.

Если вы делаете что-то подобное, обязательно учтите возможные проблемы безопасности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top