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データベースファイルディレクトリを変更する方法

推薦する

TypeScript を使用して Vue3 で axios をカプセル化する詳細な例

この axios パッケージは、vue3 デモで使用されます。便宜上、element-plus は ...

JSはシンプルなカウンターを実装します

HTML CSS および JavaScript を使用して、プラス、マイナス、ゼロの 3 つのボタン...

MySQLフィールドのデフォルト値を設定する方法

目次序文: 1. デフォルト値に関する操作2. 使用上の提案要約:序文: MySQL では、テーブル...

CSSスタイルシートとフォーマットレイアウトの詳細な説明

スタイルシートCSS (カスケーディング スタイル シート) は、HTML Web ページを美しくす...

docker での psql データベースのバックアップとリカバリの詳細な説明

1. DockerでのPostgresデータベースのバックアップ注文: docker exec it...

MySQL における distinct と group by の違い

簡単に言うと、distinct は重複を削除するために使用され、group by は統計を集計するよ...

NavicatでMySqlスケジュールタスクを作成する方法の詳細な説明

Navicat で MySql スケジュールタスクを作成する詳細な説明イベントは、MySQL が特定...

トップ 10 Js 画像処理ライブラリ

目次導入1. 異食症2. レナ3. コンプレッサー4. ファブリック5. ぼかす6. 画像を結合する...

VMware 15 仮想マシンに Ubuntu 18.04 をインストールするグラフィック チュートリアル

ここ数年、私は自動化とコンピューターを行ったり来たりしてきました。最近は、機械学習に関連するプロジェ...

Spring Cloud での Docker デプロイメントに jib を使用する詳細な手順

ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...

Docker 自動ビルド 自動ビルド実装プロセス図

自動ビルドとは、Docker Hub を使用して、Dockerfile ファイルを含む GitHub...

MySQL データベース データのロード 複数の用途

目次MySQL Load Dataの多様な用途1. LOAD の基本的な背景2. 基本パラメータをロ...

Dockerfile における VOLUME と docker -v の違い

Dockerfile でのボリュームのマウントと docker -v コマンドによるマウントには明ら...

MySQLの文字タイプは大文字と小文字を区別します

デフォルトでは、MySQLの文字タイプは大文字と小文字を区別しません。つまり、name='A...

Vueシングルページアプリケーションの事前レンダリング方法の例

目次序文vue-cli 2.0 バージョンvue-cli 3.0 バージョン要約する序文vue-cl...