目次
1. MySQL をインストールします
2. mysqld_multi 設定ファイル
3. サービスを開始します
ホームページ データベース mysql チュートリアル MySQL 単一マシンの複数インスタンスの共有

MySQL 単一マシンの複数インスタンスの共有

Feb 23, 2018 am 11:43 AM
mysql 共有 スタンドアロン

単一マシン上で複数のインスタンスを実現することは、Docker を介して簡単に行うことができます。ここでは主に、組み込みツール mysqld_multi を使用するプロセスと 2 つの落とし穴について説明します。この記事が皆さんのお役に立てれば幸いです。

1. MySQL をインストールします

システム: Ubuntu 16.04LTS (xenial)
バージョン: Percorna Server 5.7.21-20
インストール: 公式 Web サイトのチュートリアル

2. mysqld_multi 設定ファイル

新しいファイルを作成しますmulti_server.cnf

[mysqld_multi]
# MySQL サービスが mysqld_safe 経由で開始されていない場合は、これをコメントアウトする必要があります
#mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin
password = 123456
[mysqld1]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib /mysql
tmpdir = /tmp
[mysqld2]
user = mysql
pid-file=/var/run/mysqld/mysql.pid2
socket=/var/run/mysqld/mysqld.sock2
port = 3307
basedir = /usr
datadir = /var/lib/mysql2

3. サービスを開始します

実行中のインスタンスを表示します
mysqld_multi --defaults-file=/etc/mysql/multi_server.cnf レポート

サービスを開始します
mysqld_multi --defaults-file =/etc/mysql/multi_server.cnf start

一般的に、最初のものは私たちによってインストールされており、root ユーザーもセットアップしているため、次のものが存在する可能性は低いからです。問題です。
mysql2 で考えられる問題:

致命的なエラー: グループ [mysqld2] で mysqld を起動しようとしましたが、データ ディレクトリが見つからないか、使用されたデータ ディレクトリを作成できませんでした: /var/lib/mysql2

MySQL5.7新しいインスタンスを追加するためのコマンドラインは次のとおりです

mysqld -- datadir=/var/lib/mysql2 --initialize --initialize-insecure...
公式Webサイトのリンク

/usr/bin/mysqld_multiスクリプトを見てください上下343行

            print "\n\nInstalling new database in $datadir\n\n";
            $install_cmd="/usr/bin/mysqld ";
            $install_cmd.="--initialize ";
            $install_cmd.="--user=mysql ";
            $install_cmd.="--datadir=$datadir";
ログイン後にコピー

一見、問題なさそうに見えますが、実際にはコマンドライン実行

which mysqld
得到的结果
/usr/sbin/mysqld
ログイン後にコピー

を使用することで、このスクリプトを修正すると正常に起動できるようになります
もちろん、それでも起動しない場合は、動作するには、ユーザー権限を考慮する必要があるかもしれません
Ubuntu を使用している場合は、apparmor 権限が制限されているかどうかも確認してください

上記の続きで、このように起動すると、mysql2 インスタンスはランダムにパスワードを作成します。 root ユーザーになり、後続のクライアントがインスタンスにログインできなくなります。パスワードを取得する必要がある場合は、error_log のみを使用できます。このとき、スクリプトに「--initialize」パラメータを追加する必要もあります。 -insecure" をスクリプトに追加し、パラメーター間のスペースに注意してください。
接続を確立した後、

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; を実行します。
4. フォローアップ操作

root ユーザーに権限を追加します

GRANT ALL PRIVILEGES ON
. TO root@'%' IDENTIFIED BY "123456";フラッシュ権限;
各インスタンスの mysqld_multi 管理ユーザー multi_admin にシャットダウン権限を追加します

GRANT SHUTDOWN ON
. TO multi_admin@localhost IDENTIFIED BY 'password';
mysqld_multi stop を通じてインスタンスを効果的にシャットダウンできない場合は、mysqladmin を通じて直接シャットダウンできます

不適切な操作によりインスタンスが起動に失敗した場合は、コマンド

tail -30 /var/log/mysql/error.log
FAQ

2018-02-22T02:02:28.227868Z 0 [ERROR] /usr/sbin/mysqld: を使用してエラー ログを表示できます。ファイル「/var/run/mysqld/mysql.pid3」を作成/書き込みできません (エラーコード: 13 - 権限が拒否されました)
2018-02-22T02:02:28.227889Z 0 [エラー] サーバーを起動できません: できませんPID ファイルの作成: 権限が拒否されました
この時点で、次のように /var/run/mysqld フォルダーが表示されます。

-rw-r--r-- 1 root root 0 を再起動します。 2月22日 02:01 mysqld .pid
-rw-r--r-- 1 root root 0 2月21日 15:35 mysqld.pid2
srwxrwxrwx 1 mysql mysql 0 2月22日 02:02 mysqld.sock=
srwxrwxrwx 1 mysql私0 2月22日 02:02 mysqld.sock2=
-rw------- 1 mysql mysql 6 2月22日 02:02 mysqld.sock2.lock
srwxrwxrwx 1 mysql mysql 0 2月22日 02:02 mysqld.sock3=
-rw---- --- 1 mysql mysql 6 Feb 22 02:02 mysqld.sock3.lock
-rw------- 1 mysql mysql 6 Feb 22 02:02 mysqld.sock.lock
-rw -r--r- - 1 ルート root 0 Feb 22 02:01 mysql.pid2
-rw-r--r-- 1 root root 0 Feb 22 02:01 mysql.pid3
関連推奨事項:

MySQL単一マシンのマルチインスタンス ソリューションの展開

MySQL の単一マシンのマルチインスタンス構成

LBOMP – MySQL の単一マシンのバックアップ監視ツール


以上がMySQL 単一マシンの複数インスタンスの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

rootとしてmysqlにログインできません rootとしてmysqlにログインできません Apr 08, 2025 pm 04:54 PM

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

MySQLテーブルロックテーブルを変更するかどうか MySQLテーブルロックテーブルを変更するかどうか Apr 08, 2025 pm 05:06 PM

MySQLがテーブル構造を変更すると、メタデータロックが通常使用され、テーブルがロックされる可能性があります。ロックの影響を減らすために、次の測定値をとることができます。1。オンラインDDLでテーブルを使用できます。 2。バッチで複雑な変更を実行します。 3.小規模またはオフピーク期間中に操作します。 4. PT-OSCツールを使用して、より細かい制御を実現します。

RDS MySQL Redshift Zero ETLとの統合 RDS MySQL Redshift Zero ETLとの統合 Apr 08, 2025 pm 07:06 PM

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

MySQLは複数の接続を処理できますか MySQLは複数の接続を処理できますか Apr 08, 2025 pm 03:51 PM

MySQLは、複数の同時接続を処理し、マルチスレッド/マルチプロセスを使用して、各クライアントのリクエストに独立した実行環境を割り当てて、邪魔されないことを確認できます。ただし、同時接続の数は、システムリソース、MySQL構成、クエリパフォーマンス、ストレージエンジン、ネットワーク環境の影響を受けます。最適化では、コードレベル(効率的なSQLの書き込み)、構成レベル(MAX_Connectionの調整)、ハードウェアレベル(サーバー構成の改善)などの多くの要因を考慮する必要があります。

MySQLユーザーとデータベースの関係 MySQLユーザーとデータベースの関係 Apr 08, 2025 pm 07:15 PM

MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

MySQLはAndroidで実行できますか MySQLはAndroidで実行できますか Apr 08, 2025 pm 05:03 PM

MySQLはAndroidで直接実行できませんが、次の方法を使用して間接的に実装できます。Androidシステムに構築されたLightWeight Database SQLiteを使用して、別のサーバーを必要とせず、モバイルデバイスアプリケーションに非常に適したリソース使用量が少ない。 MySQLサーバーにリモートで接続し、データの読み取りと書き込みのためにネットワークを介してリモートサーバー上のMySQLデータベースに接続しますが、強力なネットワーク依存関係、セキュリティの問題、サーバーコストなどの短所があります。

MySQLのクエリ最適化は、特に大規模なデータセットを扱う場合、データベースのパフォーマンスを改善するために不可欠です MySQLのクエリ最適化は、特に大規模なデータセットを扱う場合、データベースのパフォーマンスを改善するために不可欠です Apr 08, 2025 pm 07:12 PM

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

MySQL:初心者向けのデータ管理の容易さ MySQL:初心者向けのデータ管理の容易さ Apr 09, 2025 am 12:07 AM

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

See all articles