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 の使い方を詳しく解説

推薦する

Vue3 でマークダウン エディター コンポーネントを使用する方法

目次インストールコンポーネントのインポート基本的な使い方保存したマークダウンまたは HTML テキス...

TCPパフォーマンスチューニングの実装原理とプロセス分析

3ウェイハンドシェイクフェーズクライアントSYNパケットの再試行回数sysctl -w net.ip...

シンプルなページング効果を実現するjQuery+Ajax

この記事では、ページング効果を実現するためのjquery+Ajaxの具体的なコードを参考までに紹介し...

CSSで特殊なグラフィックを描く方法

1. 三角形境界線の設定 コード: 幅: 300ピクセル; 高さ: 300px; 背景: 赤; 境界...

Vue+Elementバックグラウンド管理フレームワークの統合実践

目次Vue+ElementUI バックグラウンド管理フレームワークでは、ElementUI とは何で...

ドラッグ効果を実現するための純粋なCSSコード

目次1. ドラッグ効果の例2. CSS実装の原則3. CSS実装の詳細4. CSSレイアウト1. 固...

mysql5.6.8 ソースコードのインストールプロセス

カーネル: [root@opop ~]# cat /etc/centos-release CentO...

MySQLのパスワードを忘れた場合の対処方法

MySQL パスワードを 2 回忘れてしまいましたか?最初、私はアンインストールして再インストールす...

CSS で実現される HTML 背景色のグラデーション

エフェクトのスクリーンショット:実装コード:コードをコピーコードは次のとおりです。 <!DOC...

MySQL の文字セット utf8 を utf8mb4 に変更する方法

MySQL 5.5 の場合、文字セットが設定されていない場合、MySQL のデフォルトの文字セットは...

Windows での MySQL 5.7.10 のインストールと設定のチュートリアル

MySQL は、ユーザーごとに 2 つの異なるバージョンを提供します。 MySQL コミュニティ サ...

Linux で Xfce デスクトップ環境を使用すべき 8 つの理由

いくつかの理由(好奇心も含む)から、数週間前に Linux デスクトップとして Xfce を使い始め...

nginx-ingress-controller ログ永続化ソリューションのソリューション

最近、nginx-ingress-controller のアプリケーションについて説明した公開アカウ...

背景属性の8つの属性値の詳細解説(面接の質問)

CSSの背景プロパティの値背景色背景画像背景繰り返し背景位置背景添付複合プロパティ: 背景: ba...

MySQL 8.0.17 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.17のインストールと設定方法を参考までに紹介します。具体的な内容は...