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

推薦する

nginx ロードバランシングを介して https にリダイレクトする方法

ウェブ上で証明書とキーをコピーするscp -rp -P52113 /application/ngin...

MySQLインデックスマージの使い方

インデックスのマージは、MySQL が最下層で提供するインテリジェントなアルゴリズムです。インデック...

Zabbix による SQL Server の監視プロセスの詳細な説明

Zabbix による SQL Server の監視を見てみましょう。まずfreetdsをダウンロード...

Alibaba Cloud Centos7のインストールとSVNの設定

1. SVNサーバーをインストールする yum でサブバージョンをインストール2. SVNバージョン...

Ubuntu 18でターミナルを美しいコマンドラインプロンプトに変更する方法

VMware と Ubuntu を再インストールしましたが、コマンドラインプロンプトが単調すぎて美し...

js は axios 制限リクエスト キューを実装します

目次背景は次のとおりです。何が起こるでしょうか?背景は次のとおりです。実際の開発では、ネットワークの...

JavaScript 型検出方法の例のチュートリアル

序文JavaScriptはWebフロントエンドで広く使われている言語の一つであり、Webアプリケーシ...

Mysql の mysql.user ユーザー テーブルの詳細な説明

MySQL は、異なるユーザーに異なる権限を割り当てることができるマルチユーザー管理データベースであ...

antd+reactプロジェクトをviteに移行するためのソリューションの詳細な説明

Antd+react+webpackは、多くの場合、Reactテクノロジースタックに基づくフロントエ...

スローモーションアニメーション効果を実現するJavaScript

この記事では、スローモーションアニメーション効果を実現するためのJavaScriptの具体的なコード...

MySQLクエリ条件のnot inとinの違いと理由

まずSQLを書く SELECT DISTINCT from_id タラから cod.from_id ...

JavaScript を使用してテーブル情報を追加および削除する

JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...

Dockerでmongodbデータベースを使用するための実装コード

mongoイメージを取得する sudo docker pull mongo mongodbサービスを...

3次元画像配置効果を実現する純粋なCSSのサンプルコード

1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準要素の幅/高さ/パディング/マージンの...