ドッカーでMySQLのEFを使用して操作の例

私はそれを選ぶだろう、なぜMySQLの?私のサーバーの設定が低下するので、SqlServerのインスタンスドッキングウィンドウながら、私はこの条件を持っていない、サーバーのメモリが2G +に保管してください実行し、それがこのエラーSQLSERVRを壊した:このプログラムは、少なくとも2000メガバイトとマシンが必要ですメモリ。私は当然、MySQLを選んだ(SqlServerの構成や食べ、オンラインブレークの多くは、多くの問題を恐れて、非常に非友好的だった読んで、このエラーを報告します、あなたのマシンは2Gの場合でも、友人に聞きますハイ)...  

もちろん、我々は最初のmysqlの容器のドッキングウィンドウをインストールする必要があり、我々は最初のキーワードミラードッキングウィンドウの検索mysqlので問い合わせることができます。NAME:ミラーウェアハウス・ソースの名前、DESCRIPTION:説明ミラー、公式:あなたは実際のバージョンを見てみるとドッキングウィンドウの公式リリースは..あなたがhttps://hub.docker.com/に探しに行くことができるかどうか。

mysqlは、コマンドドッキングウィンドウプルのmysqlを通じて、直接、ミラーの下に設置さ:最新のは、ドンファンの新しいバージョンをインストール..笑まあ... OKに状況がありました...

[ルート@ iZenarrdqnvpc4Z〜]#]ドッキングウィンドウプルのmysql:最新
最新:ライブラリから引っ張る/ mysqlの
804555ee0376:プル完全
c53bab458734:プル完全
ca9d72777f90:プル完全
2d7aad6cb96e:完全なプル
............... ................
ダイジェスト:SHA256:e1b0fd480a11e5c37425a2591b6fbd32af886bfc6d6f404bd362be5e50a2e632
ステータス:MySQLの新しいイメージをダウンロード:最新
docker.io/library/mysql:latest

その後、別々に実行され、コンフィギュレーション・データを格納するためのディレクトリにぶら下がって作成したファイルをログに記録して、mysqlのコンテナを開始し、わずか2行でハング作成したディレクトリを指定してMySQLの。

ます。mkdir -p $ HOME / mysqlの/ {conf.d、データ、ログ}
ドッキングウィンドウの実行--nameのmysql -p 3306:3306 -v $ HOME / mysqlの/データ:の/ var / libに/ mysqlの-v $ HOME / mysqlの/ conf.d:/etc/mysql/conf.d -v $ HOME / mysqlの/ログ:/ログ--privileged =真-e MYSQL_ROOT_PASSWORD = 123456 -d mysqlの

容器にMySQLの。ルートとしてMySQLサービスアカウントのログイン、それはパスワードを入力することができます、このシナリオは123456である必要があり、問題はない場合、MySQLでのタグの初めに行ってきました。

[ルート@ iZenarrdqnvpc4Z〜]#ドッキングウィンドウのexec -itのmysql / binに/ bashの
ルート@ 7b96a24b92c2:/#mysqlの-uルート-p#{123456}
パスワードを入力
MySQLのモニタへようこそ。コマンドは、で終わります。または\グラム。
MySQLの接続IDが14である
サーバーのバージョン:8.0.18 MySQL Community Serverが- GPL

Oracleは、Oracle Corporationおよび/またはそのの登録商標です
関連会社。その他の名称はそれぞれの商標または登録商標です
所有者。

「助けを;」タイプ 助けのためか、「\ H」。現在の入力文をクリアするために「\ C」を入力します。
MySQLの>

あなたがrootのパスワードを変更したい場合は、直接ルートのパスワードを空白にして、パスワードを変更します。

#rootのパスワードを空白
の更新ユーザーをauthentication_string SET = '' WHEREユーザ= 'ルート'とHost = 'localhostの';
変更rootパスワード
のalter userルート@ 'localhostの識別によって' あなたのパスワード';

あなたが他の人にユーザーを追加したい場合は、そうすることができます。

#添加用户
ユーザーDEVを作成@ '%'が'123456'で識別されます。
#给用户授权
、アルターを付与作成し、一時テーブルを作成し、ユーザーの作成、表示、削除、ドロップ、イベント、インデックス、挿入、ロックテーブルを作成し、プロセス、参考文献、リロード、選択、ショーデータベース、ビューの表示、トリガ、Updateで* * DEVに'%' @。
#刷新权限
フラッシュ権限;

ビンの後、あなたはnavticatプレミアムツールを使用してリモートで接続することができます...

その後、我々は、MySQL上のEF-関連のパッケージを追加し、.NETのコアプロジェクトを作成し、ここで私はMySql.Data.EntityFrameworkCoreエンティティ移植を使用する場合、それはなぜ知られていない、次のエラーを破った、問題が発生しました。.NETのコアのバグ、それを持っている3.0+。私は問題を提出するために戻って行きました...

System.TypeLoadException:アセンブリ「MySql.Data.EntityFrameworkCoreから 'MySql.Data.EntityFrameworkCore.Infraestructure.MySQLOptionsExtension' タイプでメソッド 'GET_INFO'、バージョン= 8.0.18.0、文化=中立、

私が代わりにザボンを使用しますので、異常は見つかりませんでした。直接コード最初のオープンドライ。

パブリッククラスMysqlDbContext:DbContext
    {
        公共DbSet <学生>学生{取得します。セットする; }
        保護オーバーライドボイドOnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            //base.OnConfiguring(optionsBuilder)。
            文字列SqlConnectionオブジェクト= "サーバー= IP; UID = zaranet; PWD = 123456;データベース= MyDemo";
            optionsBuilder.UseMySql(SqlConnectionオブジェクト)。
        }
        保護オーバーライドボイドOnModelCreating(ModelBuilderのModelBuilderの)
        {
            base.OnModelCreating(ModelBuilderの)。
        }         
    }

直接アドインの移行の初期化に続いて、[更新...

PM>アドオンの移行初期化
するためには、このアクション、使用には、Remove-の移行を元に戻します。
PM>更新、データベースの初期化

OK、オープンのNavicatは成功見えます。

 

おすすめ

転載: www.linuxidc.com/Linux/2020-01/161959.htm