Ubuntu の Docker で mysql5.6 をインストールする方法

Ubuntu の Docker で mysql5.6 をインストールする方法

1. mysql5.6をインストールする

docker 実行 mysql:5.6

すべてのアイテムのダウンロードが完了し、インストールされるまでお待ちください

5.6: library/mysql からのプル
10a267c67f42: プル完了 
c2dcc7bb2a88: プルが完了しました 
17e7a0445698: プル完了 
9a61839a176f: プル完了 
d4657fda01d9: プル完了 
c5278a445e5d: プル完了 
197c0b76f238: プル完了 
f54c5432bac4: プル完了 
c26b15abee8a: プル完了 
80dbe6022c18: プル完了 
435678c09612: プル完了 
ダイジェスト: sha256:84372107beb1de34bd4673049ea61bc35f374a2b4f19fd5a3abd4d0a2a50b715
ステータス: mysql:5.6 の新しいイメージをダウンロードしました
エラー: データベースが初期化されておらず、パスワード オプションが指定されていません 
 MYSQL_ROOT_PASSWORD、MYSQL_ALLOW_EMPTY_PASSWORD、MYSQL_RANDOM_ROOT_PASSWORDのいずれかを指定する必要があります。

2. ローカルアカウントを使用して、docker で MySQL 構成ファイルをマップするフォルダーを作成します。

conf、data、logsの3つのフォルダを作成します。

私の設定は次のとおりです

val@val-linux:~/docker/mysql1$ パスワード
/home/val/docker/mysql1
val@val-linux:~/docker/mysql1$ ls
conf データログ

3. MySQLコンテナを作成する

ルートアカウントに切り替えて、作成したmysql1フォルダに入ります。

root@val-linux:/home/val# cd /home/val/docker/mysql1/
ルート@val-linux:/home/val/docker/mysql1#

コンテナを作成して起動する

docker run -p 33061:3306 --name mysql1 -v $PWD/conf:/etc/mysql -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.61
ローカルの33061ポートを使用してdockerの3306ポートをマップし、コンテナにmysql1という名前を付けます。 
ローカルの /home/val/docker/mysql1/conf を使用して、mysql conf をマップします。 
ローカルの /home/val/docker/mysql1/logs を使用して、mysql ログをマップします。 
ローカルの /home/val/docker/mysql1/data を使用して、mysql の mysql_data をマップします。

ルートパスワードを123456に設定する

4. MySQLコンテナを起動する

docker で mysql11 を起動します

5. mysql bashを入力

docker exec -it mysql1 env LANG=C.UTF-8 bash

その中で、env LANG=C.UTF-8 bashはdockerコマンドラインで中国語をサポートできるようにします。

6. 設定ファイルをコピーする

cp /usr/my.cnf /etc/mysql/my.cnf

7. mysqlにログインする

mysql -u ルート -p

パスワードを入力して入場

8. MySQLのエンコーディングを確認する

mysql> '%character%' のような変数を表示します。
+--------------------------+----------------------------+
| 変数名 | 値 |
+--------------------------+----------------------------+
| 文字セットクライアント | latin1 |
| 文字セット接続 | latin1 |
| 文字セットデータベース | latin1 |
| 文字セットファイルシステム | バイナリ |
| 文字セット結果 | latin1 |
| 文字セットサーバー | latin1 |
| 文字セットシステム | utf8 |
| 文字セットディレクトリ | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
セット内の行数は 8 行 (0.01 秒)

UTF-8エンコードではないことが判明

9. MySQLのエンコーディングを変更する

mysqlを終了し、dockerを終了します

mysql>終了
さよなら
root@8b83a30acbf8:/# 終了
出口
ルート@val-linux:/home/val/docker/mysql1#

my.cnf設定ファイルを変更する

root@val-linux:/home/val/docker/mysql1# vim conf/my.cnf

i を押すと編集モードに入ります

参加する

[クライアント] デフォルトの文字セット=utf8 
[mysql] デフォルトの文字セット=utf8 
[mysqld] 文字セットサーバー=utf8 1
esc :wq! 保存して終了

10. dockerでmysqlを再起動してコードを再度確認する

root@val-linux:/home/val/docker/mysql1# docker stop mysql1
マイSQL1
root@val-linux:/home/val/docker/mysql1# docker start mysql1
マイSQL1
root@val-linux:/home/val/docker/mysql1# docker exec -it mysql1 env LANG=C.UTF-8 bash
ルート@8b83a30acbf8:/#mysql -u ルート -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは1です
サーバーバージョン: 5.6.36 MySQL コミュニティサーバー (GPL)
Copyright (c) 2000, 2017, Oracle およびその関連会社。無断複写・転載を禁じます。
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
mysql> '%character%' のような変数を表示します。
+--------------------------+----------------------------+
| 変数名 | 値 |
+--------------------------+----------------------------+
| 文字セットクライアント | utf8 |
| 文字セット接続 | utf8 |
| 文字セットデータベース | latin1 |
| 文字セットファイルシステム | バイナリ |
| 文字セット結果 | utf8 |
| 文字セットサーバー | latin1 |
| 文字セットシステム | utf8 |
| 文字セットディレクトリ | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
セット内の行数は 8 です (0.00 秒)

11. データベースを作成する

mysql> データベース rise を作成します。
クエリは正常、1 行が影響を受けました (0.00 秒) 
mysql> rise を使用します。
データベースが変更されました

12. ユーザーを作成して承認する

mysql> rise.* のすべての権限を '123456' で識別される val@'%' に付与します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

% は任意の IP (IP は指定可能)、val はユーザー名、123456 はパスワードです。

上記は、Ubuntu の Docker に mysql5.6 をインストールするために私が紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。

以下もご興味があるかもしれません:
  • Docker に MySQL インスタンスをインストールして実行する
  • DockerにMySQL8をインストールする方法
  • DockerにMySQL 8.0をインストールする方法
  • Dockerにmysqlイメージをインストールして使用する
  • MySQL (8 および 5.7) の Docker インストール
  • Dockerにmysqlをインストールする詳細な説明
  • Docker での MySQL 8.0.20 のインストールと設定のチュートリアル
  • Docker に共通コンポーネント (mysql、redis) をインストールする方法
  • Docker に MySQL と MariaDB をインストールする方法
  • Linux で Docker を使用して MySQL をインストールする手順

<<:  alpineをベースにdockerfileで作成したtomcatイメージの実装

>>:  キャンバス操作プラグイン fabric.js の使い方を詳しく解説

推薦する

Python ベースの MySQL レプリケーション ツールの詳細な説明

目次1. はじめに2回目の練習2.1 インストールと設定2.2 コアクラスの紹介2.3 使い方は? ...

jQueryはシャトルボックス効果を実現します

この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します...

Linux ユーザー スクリプトの作成/推測ゲーム/ネットワーク カード トラフィック監視の紹介

目次1. ユーザーが作成したスクリプト2. 単語当てゲーム3. ネットワークカードのトラフィック監視...

MySQL のテーブル内のレコード数を制限する方法

目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...

Docker stopはすべてのコンテナを停止/削除します

この記事では主に、すべてのコンテナを削除する Docker stop/remove を紹介し、皆さん...

Tinymce リッチテキストを使用して Vue のツールバーボタンをカスタマイズする実践

目次tinymce、tinymce ts、tinymce-vue 宣言ファイルをインストールするパッ...

WIN10 システムと Docker 内部コンテナ IP 間の通信方法

1. Windows 版の Docker をインストールしたら、Docker クイックスタート ター...

Linux CentOS 6.5 のアンインストール、tar、および MySQL のインストールチュートリアル

システム提供のMySQLをアンインストールする1. MySQLがシステムにインストールされているかど...

MySQLでインデックスエラーが発生する状況について簡単に説明します

以下に、トレーニング機関からのヒントと私自身の要約をいくつか示します。以下のインデックスの内容を説明...

nginxでイメージサーバーを構築する手順の詳しい説明(ルートとエイリアスの違い)

インストール手順は省略します( yum -y install nginx;を使用して直接インストール...

MySQL におけるユニーク制約と NULL の詳細な説明

序文説明を簡略化するために以前に設定した要件は、他のグループから MQ メッセージを受信し、データベ...

Apache での ab パフォーマンス テスト結果を分析する

私はパフォーマンス テストを行うために常に Loadrunner を使用してきました。 Loadru...

Linux システムでログを手動でスクロールする方法

ログローテーションは、Linux システムでは非常に一般的な機能です。ログローテーションは、システム...

MySQL サービスに iptables ファイアウォール ポリシーを追加するためのソリューション

MySQL データベースが Centos7 システムにインストールされており、オペレーティング シス...

CSS3で跳ねるボールのアニメーションを実現

私は通常、大手ウェブサイトの特別ページや製品リリースページを訪問するのが好きです。なぜなら、たくさん...