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

推薦する

RHEL8 /CentOS8 でマルチノード Elastic Stack クラスターを構築する方法

一般的に ELK スタックとして知られる Elastic スタックは、Elasticsearch、L...

MySQL 学習のまとめ: InnoDB ストレージ エンジンのアーキテクチャ設計の予備的な理解

1. ストレージエンジン前のセクションでは、SQL 実行プランは、エグゼキュータ コンポーネントがス...

SQL文でのgroup byの使用について簡単に説明します

1. 概要Group by は、by の後の規則に従ってデータをグループ化することを意味します。いわ...

JS初心者が配列を処理するための実践的な方法のまとめ

join() メソッド: 指定された区切り文字を使用して配列内のすべての要素を文字列に接続します。例...

el-table カプセル化に基づくドラッグ可能な行と列、および選択列コンポーネントの実装

効果環境が必要ビュー要素UIドラッグアンドドロッププラグインSortable.js必要な構成プロパテ...

DCL を使用して MySQL でユーザーを管理し、権限を制御する方法

DCL (データ制御言語): データベースのアクセス権とセキュリティ レベルを定義し、ユーザーを作成...

Postman に基づく HTTP インターフェース テスト プロセスの分析

偶然、素晴らしい人工知能のチュートリアルを発見したので、みんなと共有せずにはいられませんでした。この...

Mysql ルートユーザーアカウントのパスワードをリセットする問題を解決する

問題の説明: mysqladmin.exe を使用してコマンドを実行すると、次のエラー メッセージが...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

DockerにMinIOをインストールするための詳細な手順

目次1. docker環境が正常かどうかを確認する2. miniIOイメージをダウンロードする3. ...

ウェブデザインレイアウトの理解

<br />矛盾が生じます。私たちのような小さな工房では、デザインとレイアウトは基本的に...

HTML/XHTML における img 画像タグの基本的な使用法の詳細な説明

画像タグは、Web ページに画像を表示するために使用されます。 HTML/XHTML 画像 <...

知っておくべき 7 つのネイティブ JS エラーの種類

目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...

sqlとmysqlの違いは何ですか?

SQL とは何ですか? SQL はデータベースを操作するために使用される言語です。 SQL はすべ...

Docker Docker の保存場所を変更する コンテナイメージのサイズ制限を変更する操作

これは新しいバージョンではもう不可能なようで、推奨されません。そうでない場合は、ソフト リンクを直接...