MySQL データベースを使用する Qt/C++ オープン ソース プロジェクトに取り組んでいます。1 つのクラスは、ユーザーがデータベースを選択できる初期構成 (最初の実行) 中に使用されます。ログインしてSHOW DATABASESを実行せずに、ホスト上のすべてのデータベースのリストを提供する方法はありますか? 取引?特定のユーザーが所有するデータベースだけでなく、ホスト上のすべてのデータベースのリストを取得したいと考えています。これを行う唯一の方法は、SHOW DATABASES を実行することです。特定のホストのルートとして、しかし、絶対に必要な特定の状況を除いて、ユーザーにルート アクセスを要求したくありません。
アイデアは、ユーザーが後続のセッションで使用するデフォルトのデータベースを選択し、それに対応するユーザー/パスを提供できるダイアログを用意することです。各データベースの所有者も取得できればボーナス ポイントです。(たとえば、データベースfooは johndoe が所有し、データベースfoo2は janesmith が所有していることをプログラムに表示させます) ユーザーが選択すると、ダイアログはこの情報をそのユーザーのプログラム構成ファイルに書き込み、通常の起動時に読み込まれます。 .
これを行うことはできますか、それともユーザーに最初にログイン/パスワードを提供させ、そのアカウントが所有するデータベースのリストを表示するなどの回避策を見つける必要がありますか? それは比較的面倒ですが、簡単です。