Docker に MySQL と MariaDB をインストールする方法

Docker に MySQL と MariaDB をインストールする方法

MySQLとMariaDBの関係

MariaDB データベース管理システムは MySQL のブランチであり、主にオープンソース コミュニティによって管理され、GPL に基づいてライセンスされています。
MariaDB は、API やコマンド ラインを含めて MySQL と完全に互換性を持たせ、MySQL の簡単な代替品となることを目指しています。

MySQL と MariaDB の関係について読んだ後、次の疑問が湧いてくるはずです。この 2 つは非常に密接に関連しているため、同時にインストールして起動すると競合が発生するのでしょうか?

答えは「はい」です。たとえば、「この記事では主にポート番号について説明します」。まず両方のインストールを確認し、次に構成フェーズで MariaDB のポート番号と MySQL を区別します。

DockerでMySQLをインストールする

Docker HubでMySQLイメージを探す

docker 検索 mysql

インストールするミラーを選択します(ここではcentos/mysql-57-centos7を選択します)

docker pull centos/mysql-57-centos7

MySQLを起動する

docker run -p 3306:3306 --name mysql-57 -v /my/mysql/conf:/etc/mysql/conf.d -v /my/mysql/logs:/logs -v /my/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxx -d centos/mysql-57-centos7

DockerでMariaDBをインストールする

Docker HubでMariaDBイメージを探す

docker 検索 mariadb

インストールするイメージを選択します(ここでは公式イメージを選択します)

docker プル mariadb

MariaDBを起動する

docker run -v /my/mariadb/:/var/lib/mariadb -p 3309:3309 -e MYSQL_ROOT_PASSWORD=xxx --privileged=true --restart unused-stopped --name mariadbs -d mariadb:latest
注: MariaDB はポート 3309 で起動し、MySQL はデフォルトのポート 3306 を使用します。

起動が完了しました。docker docker ps view

MariaDB ポート構成

MariaDB はポート 3309 の使用を開始しますが、リモートからアクセスすることはできません。

コンテナディレクトリに入る

docker exec -it コンテナID bash

設定ファイルを更新する

vi /etc/mysql/my.cnf を編集します。 

再起動

docker コンテナ ID を再起動

リモート接続して再度アクセスすると、正常になります。

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

以下もご興味があるかもしれません:
  • Docker に MySQL と Redis をインストールする方法
  • Docker で Tomcat、MySQL、Redis をインストールするための詳細な手順
  • DockerにMySQLをインストールする方法
  • Docker で MySQL をインストールし、リモート接続を実装するチュートリアル
  • DockerにMySQL 8.0をインストールする方法
  • MySQL (8 および 5.7) の Docker インストール
  • Docker に共通コンポーネント (mysql、redis) をインストールする方法
  • DockerにMySQL8をインストールする方法
  • MySQL の Docker インストールと設定手順

<<:  vue-cropper コンポーネントは画像の切り取りとアップロードを実現します

>>:  UbuntuでMySQLデータベースファイルディレクトリを変更する方法

推薦する

レスポンシブデザインについて知っておくべきこと

レスポンシブデザインとは、ウェブサイトの開発プロセス中に、ユーザーの操作やデバイス環境に応じて対応す...

XHTML 1.0 リファレンス

機能別に並べ替えNN: このタグをサポートする Netscape の以前のバージョンを示しますIE:...

JavaScript の継承についてどれくらい知っていますか?

目次序文コンストラクタ、プロトタイプオブジェクト、インスタンスオブジェクトの関係プロトタイプチェーン...

Node.js で MySQL データベースにバッチデータを挿入する方法

プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベ...

Dockerコンテナのログ分析

コンテナログを表示するまず、 docker run -it --rm -d -p 80:80 ngi...

小さなアイコンのフロントエンド処理ソリューションのグラフィカルな説明

序文この記事を始める前に、複数選択の質問をしてみましょう。フロントエンド開発でビルド ツールを使用す...

HTMLフォームアプリケーションにはチェックボックスとラジオボタンの使用が含まれます

チェックボックスやラジオボタンの使用を含むコードをコピーコードは次のとおりです。 <!DOCT...

Navicat for SQLite で中国語データを CSV にインポートする方法

この記事では、参考までに、csv中国語データをNavicat for SQLiteにインポートする具...

正の整数かどうかを判断するMYSQLカスタム関数の例コード

関数を記述できます。主に正規表現を使用して判断を行います。入力文字が空の場合は、「-」を使用して置き...

Linux userdel コマンドの使用法

1. コマンドの紹介userdel (ユーザー削除) コマンドは、ユーザー アカウントと関連ファイル...

JS 日付コントロール My97DatePicker の基本的な使い方

My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...

mysqlはエクスポートされたデータのsqlファイルから指定されたテーブルのみをインポートすることを実装します

シナリオ昨日、システムは dbAll.sql.gz という名前の特定のデータベースのすべてのテーブル...

HTML テーブル セルの幅と高さを設定する方法

Web ページを作成するときに、テーブルの幅が揃っていないという問題に遭遇することがよくあります。 ...

jQueryは要素を追加した後に元のイベントが実行されない問題を解決します

まずエラーコードを見てみましょう。 html: <テーブルボーダー="1"...

レスポンシブ原則をシミュレートするための基礎コードの Vue 実装の例

目次1.Vue.js の機能: 2.Observer.js 関数 (データハイジャック): 3. C...