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 をインストールするために私が紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。 以下もご興味があるかもしれません:
|
<<: alpineをベースにdockerfileで作成したtomcatイメージの実装
>>: キャンバス操作プラグイン fabric.js の使い方を詳しく解説
1.MySQL UPDATE JOIN構文MySQL では、UPDATE ステートメントでJOIN句...
<br />XHTML と CSS がオブジェクト指向だったらよかったのに。 。太陽は北...
私はしばらく MGR と連絡を取り合ってきました。MySQL 8.0.23 の登場により、MySQL...
1. nginxシェルスクリプトを保存するフォルダを作成する /usr/local/タスク/ngin...
ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...
目次1. ランダムなブール値( true / false )を取得する2. 指定された日付が営業日で...
コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...
目次1. バックグラウンドで実行されるジョブ2. 信号を使用してプロセスを制御する基本的なプロセス管...
この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...
私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...
出典: https://medium.com/better-programming、著者: Fere...
1. オーバーフローOverflow はオーバーフロー(コンテナ)です。コンテンツがコンテナを越える...
この記事では、vue+echart を使って二重列チャートを実現するための具体的なコードを参考までに...
1. 動的クエリルール動的クエリルールは、おおよそ次の図のようになります。ユーザのカスタマイズに応じ...
//デフォルトプロトコル/ デフォルト プロトコルの使用は、リソース アクセス プロトコルが現在の...