ホームページ > データベース > mysql チュートリアル > dockerでmysqlをインストールする方法は何ですか

dockerでmysqlをインストールする方法は何ですか

WBOY
リリース: 2023-05-28 21:37:05
転載
1232 人が閲覧しました

素早く完了

コピーして貼り付けて従うだけですぐに完了します。詳細な手順を確認する必要はありません

docker pull mysql:5.7
ログイン後にコピー
ログイン後にコピー
docker run -d -p 3306:3306 --privileged=true -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
ログイン後にコピー
ログイン後にコピー
cd /usr/local/mysql/conf
ログイン後にコピー
vim my.cnf
ログイン後にコピー

貼り付け次の内容を保存してください。

[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
ログイン後にコピー
docker restart mysql
ログイン後にコピー

ツールを使用してテストします (ポートを開くことを忘れないでください)。root ユーザーのパスワードは 123456

詳細な手順

最初にミラーを検索します

docker search mysql
ログイン後にコピー

dockerでmysqlをインストールする方法は何ですか

イメージをプルします

最初に検索したもので十分です。バージョンを指定しない場合は、私は 5.7

docker pull mysql:5.7
ログイン後にコピー
ログイン後にコピー

dockerでmysqlをインストールする方法は何ですか

コンテナ (実行中のイメージ) を作成します

内部と外部の両方でポート 3306 を使用します (ホストのポート 3306 は占有されていません。たとえば、ホストには mysql がインストールされています)、root ユーザーを指定します。パスワードは 123456

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --name mysql mysql:5.7
ログイン後にコピー

dockerでmysqlをインストールする方法は何ですか

コンテナに入る

コンテナ内でmysqlに接続してデータベースを作成し、mysqlが正常に使えるかテスト

#
docker exec -it mysql /bin/bash
ログイン後にコピー

dockerでmysqlをインストールする方法は何ですか

#テーブルを作成してデータを挿入すればOK

dockerでmysqlをインストールする方法は何ですか

接続ツールをローカルで使用して接続します

ローカルで使用する Navicat ツールへの接続、レコードの挿入、クエリの実行は問題ありません

dockerでmysqlをインストールする方法は何ですか

ただし、中国語を挿入するとエラーが報告されます

dockerでmysqlをインストールする方法は何ですか

文字セットの変更

中国語のエラーは文字セットの問題である可能性があります。確認してください。コンテナ内の文字セット (クライアント ツールは一部の文字セットをローカル文字セットに処理します)、それらのほとんどが Not utf8

show variables like 'character%';
ログイン後にコピー

dockerでmysqlをインストールする方法は何ですか

であることがわかります。 mysql 設定ファイルはまだコンテナ内にあり、ホストにマッピングされていません。変更するのはあまり便利ではなく、安全でもありません。コンテナを削除しても、

コンテナ データ ボリュームを使用する必要があります。

現時点では、理解できない場合は、以前のブログ投稿を確認してください: ここをクリックしてくださいコンテナ データ ボリュームを使用して、mysql データ、構成ファイル、およびログをマウントします

削除上記のコンテナを削除し、コンテナを再作成します 今回のコマンドは次のとおりです

docker run -d -p 3306:3306 --privileged=true -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
ログイン後にコピー
ログイン後にコピー

ログ、データ、設定ファイルの 3 つのディレクトリをマウントします

mysql 設定ファイルを作成します

mysql設定ファイルのディレクトリがマウントされているので、ホストマシン上の該当ディレクトリを直接操作できます

設定ファイルディレクトリにmy.cnf設定ファイルを新規作成し、以下の内容を記述し、クライアントと mysql サーバーのエンコーディングを utf8

[client]default_character_set=utf8[mysqld]collation_server=utf8_general_cicharacter_set_server=utf8
ログイン後にコピー

dockerでmysqlをインストールする方法は何ですか 設定ファイルを変更した後、mysql コンテナを再起動し、再度コンテナに入って文字セットを表示すると、すべてが正しいことがわかります。

dockerでmysqlをインストールする方法は何ですかライブラリ テーブルを再度作成し、中国語のテストを挿入すると、正常に挿入されます。

dockerでmysqlをインストールする方法は何ですか

そして mysqlデータディレクトリもローカルにマウントされているため、コンテナを削除して新たにコンテナを作成した場合でも、同じデータボリュームを使用して以前に作成したデータベーステーブルを復元できます。

以上がdockerでmysqlをインストールする方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート