2017-04-18 23 views
0

私は解決する必要があるが、正確にはわからない問題があります。私は、オンライン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(); 
} 

ご迷惑をおかけして申し訳ございません。

よろしくお願いいたします。

+1

異なるデータベース名でサーバー上のデータベースを復元してクライアントに接続することはできませんか? – millimoose

+0

私はそれについて考えました...理論的には、異なるコンピュータの複数のユーザーが同時にバックアップを見ることができるので、複数の新しいデータベースを作成するか、お互いをオーバーライドします。だからこそ私は地元の人と一緒に行くだろう。 – user1080533

+0

各ユーザに異なるデータベース名を与える。正直なところ、データベースが技術的でないユーザーによってローカルにインストールされるシナリオを導入することは、プロセスに容易に埋め込むことができるデータベースを選択することによって明示的に計画されていない限り、それ以上の問題を引き起こすようです。どのMySQLがそうでないか。 – millimoose

答えて

0

私はあなたの問題を理解しているかどうかわかりません。ただし、新しいMysqlをインストールした場合は、データベースなしでrootユーザーを使用できます。 とにかく、あなたが知っておく必要がある一つのことは、Connectデータベースの必見mysqlまたはsqlserverためuserpasswordを持っています。

あなたはあなたの問題をより簡潔な記述する必要があります。

関連する問題