私は解決する必要があるが、正確にはわからない問題があります。私は、オンラインMySQLサーバーに接続するWinFormsアプリケーション(C#)を持っています。問題はありません。このアプリケーションでは、データベースのバックアップを作成するオプションがあります(基本的には、このデータベースをコンピュータ上のローカルファイルにダンプします)。MySQL C#Winform - ダンプファイル(localhost)から新しいデータベースを作成する
このバックアップをクライアントのコンピュータでローカルに開いて(古いデータをチェックする) - 私は自分のサーバでデータベースを復元したくない。なぜなら、データベースはまだ他のユーザのために使われているからだ。私はローカルコンピュータにMySQLをきれいにインストールし、ローカルホストに接続したいのですが(テストのように)、そのコンピュータに物理的にアクセスすることはできません。私はクライアントにMySQLインストーラを送ることができますが、ダンプファイルからパスワードとデータベースを使って自動的にユーザを作成する方法はありますか?
私はそれが存在しない場合は、新しいデータベースを作成する方法を知っているが、それはきれいなMySQLサーバのインストールだ場合は、それを行う方法 - まだユーザー名とパスワードがありません。
string connStr = "server=localhost;user=root;port=3306;password=????;";
using (var conn = new MySqlConnection(connStr))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "CREATE DATABASE IF NOT EXISTS `hello`;";
cmd.ExecuteNonQuery();
}
ご迷惑をおかけして申し訳ございません。
よろしくお願いいたします。
異なるデータベース名でサーバー上のデータベースを復元してクライアントに接続することはできませんか? – millimoose
私はそれについて考えました...理論的には、異なるコンピュータの複数のユーザーが同時にバックアップを見ることができるので、複数の新しいデータベースを作成するか、お互いをオーバーライドします。だからこそ私は地元の人と一緒に行くだろう。 – user1080533
各ユーザに異なるデータベース名を与える。正直なところ、データベースが技術的でないユーザーによってローカルにインストールされるシナリオを導入することは、プロセスに容易に埋め込むことができるデータベースを選択することによって明示的に計画されていない限り、それ以上の問題を引き起こすようです。どのMySQLがそうでないか。 – millimoose