Dockerを使用してMySQLデータベースをインストールするDeepinの詳細な説明

Dockerを使用してMySQLデータベースをインストールするDeepinの詳細な説明

まずMySQLソースをクエリする

docker 検索 mysql

公式ウェブサイトにアクセスしてイメージタグを表示し、必要なバージョンを選択することもできます。そうでない場合は、最新バージョンがダウンロードされます: https://hub.docker.com/_/mysql/
するとエラーが報告されました! ! !

root@deepin-PC:/etc/apt# docker pull mysql:8.0.11
デーモンからのエラー応答: Get https://registry-1.docker.io/v2/library/mysql/manifests/8.0.11: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fmysql%3Apull&service=registry.docker.io: net/http: TLS ハンドシェイク タイムアウト

国内ミラーソースに切り替える

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker

Dockerを再起動する

sudo サービス docker を再起動

もう一度やり直してください

root@deepin-PC:/etc/docker# docker pull mysql:8.0.11
8.0.11: library/mysql からプル
be8881be8156: プル完了
c3995dabd1d7: プル完了
9931fdda3586: プル完了
bb1b6b6eff6a: プル完了
a65f125fa718: プル完了
2d9f8dd09be2: プル完了
37b912cb2afe: プル完了
90a9e6fd6a27: プル完了
959ebd3ef120: プル完了
5eda665eddc4: プル完了
d9007173a367: プル完了
239f4d989075: プル完了
ダイジェスト: sha256:ffa442557c7a350939d9cd531f77d6cbb98e868aeb4a328289e0e5469101c20e
ステータス: mysql:8.0.11 の新しいイメージをダウンロードしました
docker.io/ライブラリ/mysql:8.0.11

確認する

root@deepin-PC:/etc/docker# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
mysql 8.0.11 5dbe5b6313e1 21か月前 445MB

docker用のmysql専用フォルダを作成する

root@deepin-PC:/etc/docker# cd /opt/
root@deepin-PC:/opt# mkdir mysql_docker
root@deepin-PC:/opt# cd mysql_docker/
root@deepin-PC:/opt/mysql_docker# $PWDをエコーし​​ます
デフォルトは /opt/mysql_docker です。

mysqlコンテナを起動する

docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:8.0.11

完全なコンテナIDを表示する

cd /var/lib/docker/containers/

起動したコンテナを表示する

root@deepin-PC:/opt/mysql_docker# docker ps 
コンテナID イメージ コマンド 作成ステータス ポート名
1f9aa5b79b6a mysql:latest "docker-entrypoint.s…" 約 1 分前 59 秒前に起動 0.0.0.0:3306->3306/tcp, 33060/tcp mysql

mysql と入力します (mysql をコンテナ ID に置き換えることができます)

docker exec -it mysql bash


MySQLに接続する

mysql -u ルート -p 123456

リモートアクセス権限を付与する

mysql> mysql を使用します。
テーブル名と列名の補完のためのテーブル情報の読み取り
-Aでこの機能をオフにすると起動が速くなります。

データベースが変更されました
mysql> ユーザーからホスト、ユーザーを選択します。
+-----------+------------------+
| ホスト | ユーザー |
+-----------+------------------+
| % | ルート |
| ローカルホスト | mysql.infoschema |
| ローカルホスト | mysql.セッション |
| ローカルホスト | mysql.sys |
| ローカルホスト | ルート |
+-----------+------------------+
セット内の行数は 5 です (0.00 秒)

mysql> ALTER USER 'root'@'%' は '123456' によって mysql_native_password で識別されます。
クエリは正常、影響を受けた行は 0 行 (0.02 秒)

mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.01 秒)

docker ログを表示します。

root@deepin-PC:/opt/mysql_docker# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
1f9aa5b79b6a mysql:latest "docker-entrypoint.s…" 6 分前 6 分前にアップ 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
root@deepin-PC:/opt/mysql_docker# docker ログ -f --tail 10 1f9aa5b79b6a
2020-05-11 14:14:30+00:00 [注記] [エントリポイント]: MySQL の初期化プロセスが完了しました。起動の準備ができました。

2020-05-11T14:14:30.702850Z 0 [警告] [MY-011070] [サーバー] 「--skip-symbolic-links (または同等のもの) を使用してシンボリック リンクを無効にするのがデフォルトです。このオプションは非推奨であり、将来のリリースで削除されるため、使用しないことを検討してください。」
2020-05-11T14:14:30.702952Z 0 [システム] [MY-010116] [サーバー] /usr/sbin/mysqld (mysqld 8.0.20) がプロセス 1 として開始されました
2020-05-11T14:14:30.712787Z 1 [システム] [MY-013576] [InnoDB] InnoDBの初期化が開始されました。
2020-05-11T14:14:31.064937Z 1 [システム] [MY-013577] [InnoDB] InnoDBの初期化が終了しました。
2020-05-11T14:14:31.191792Z 0 [システム] [MY-011323] [サーバー] X プラグインが接続準備完了。ソケット: '/var/run/mysqld/mysqlx.sock' バインド アドレス: '::' ポート: 33060
2020-05-11T14:14:31.284386Z 0 [警告] [MY-010068] [サーバー] CA 証明書 ca.pem は自己署名されています。
2020-05-11T14:14:31.292565Z 0 [警告] [MY-011810] [サーバー] --pid-file の安全でない構成: パス内の場所 '/var/run/mysqld' はすべての OS ユーザーがアクセスできます。別のディレクトリを選択することを検討してください。
2020-05-11T14:14:31.312549Z 0 [システム] [MY-010931] [サーバー] /usr/sbin/mysqld: 接続準備完了。バージョン: '8.0.20' ソケット: '/var/run/mysqld/mysqld.sock' ポート: 3306 MySQL コミュニティ サーバー - GPL。

一般的な操作

まずコンテナIDを確認します

ドッカーps -a

IDを見つける

次のIDはコンテナIDです

mysqlをシャットダウンする

docker 停止 ID

再起動

docker 再起動 ID

起動する

docker 開始 ID

**dockerをシャットダウンする**

systemctl ドッカーを停止する

Dockerを再起動する

systemctl dockerを再起動します

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • deepin 2014 システムに MySQL データベースをインストールする方法
  • Deepin20.1 システムは MySQL8.0.23 をインストールします (非常に詳細な MySQL8 インストール チュートリアル)

<<:  MySQLユーザー管理操作例の分析

>>:  Vue+Openlayer バッチ設定フラッシュポイント実装コード (ポストレンダリングメカニズムに基づく)

推薦する

Linux netfilter/iptables の知識ポイントの詳細な説明

ネットフィルターNetfilter は、パケット フィルタリング、転送、およびアドレス変換 NAT ...

Vueはパーセンテージバー効果を実現します

この記事では、パーセンテージバーを実現するためのVueの具体的なコードを参考までに共有します。具体的...

ウェブページ読み込み時に左右にジャンプする原因の分析と解決

最近、ウェブサイトを設計するときにこの問題に遭遇しています。メンバーセンターを設計し、コンテンツを ...

html2canvas を使用して HTML コードを画像に変換する方法

コードを画像に変換するにはhtml2canvas は、ブラウザから Web ページのスクリーンショッ...

MySQL で最大接続数を正しく変更する 3 つの方法

MySQL データベースをインストールすると、デフォルトの MySQL データベースの最大接続数が ...

Vueはページdivボックスのドラッグアンドドロップソート機能を実装します

vue は、ページ上の div ボックスのドラッグ アンド ドロップ ソート機能を実装します。 序文...

Node.js で Bash スクリプトを書くための究極のソリューション

目次序文zxライブラリ$`コマンド` CD()フェッチ()質問()寝る()スローしない()チョークフ...

MySQL で固定されていない位置から文字列要素を抽出する方法

序文注: テストデータベースのバージョンはMySQL 8.0ですテストデータ: テーブルzqs(id...

Nginx は動的と静的の分離を実装します 例の説明

ウェブサイトの解析を高速化するために、動的ページと静的ページを異なるサーバーで解析して、解析速度を向...

vite を使用して vue3 アプリケーションを構築する方法

1. インストールヒント: 現在、VUE3.0 の公式翻訳ドキュメントはありません。しかし、すでに誰...

uniappがインターフェースドメイン名を動的に取得する方法を分析する

背景インターフェイス ドメイン名はハードコードされておらず、動的に取得されます。具体的な実装は、静的...

MySqlを最適化するためにnot inを使用する方法

最近、プロジェクトで選択クエリを使用する際に、未使用の主キー ID を除外するために not in ...

MySQL でスロークエリを有効にする方法の例

序文スロー クエリ ログは、MySQL で非常に重要な機能です。MySQL のスロー クエリ ログ機...

js配列forEachインスタンスの詳細な使用方法

1. forEach() は map() に似ています。これも渡された関数に各要素を順番に適用します...