Centos7環境でMySQL 5.6のインスタンスを複数作成する方法の詳細な説明

Centos7環境でMySQL 5.6のインスタンスを複数作成する方法の詳細な説明

この記事では、CentOS 7 環境で MySQL 5.6 の複数のインスタンスを作成する方法について説明します。ご参考までに、詳細は以下の通りです。

1. MySQLインストールディレクトリの説明

mysql5.6 は、/data/mysql56 にバイナリ インストール パッケージとしてインストールされます。データ ディレクトリは /data/mysql56/data です。構成ファイルは /etc/my.cnf です。

2. マルチインスタンスディレクトリの説明

/mysql インスタンス
|-- 3308
|-- data #3308 インスタンスデータディレクトリ
|-- 3309
|-- data #3309 インスタンスデータディレクトリ

> mkdir -p /mysql-instance/3308/data
> mkdir -p /mysql-instance/3309/data

3. 構成ファイルをインスタンスディレクトリにコピーする

> cp /data/mysql56/support-files/my-default.cnf /mysql-instance/3308/my.cnf
> cp /data/mysql56/support-files/my-default.cnf /mysql-instance/3309/my.cnf

4. 設定ファイルを変更する

> vi /mysql-instance/3308/my.cnf
> vi /mysql-instance/3309/my.cnf

[クライアント]
ポート = 3308
ソケット = /mysql-instance/3308/mysql.sock
[mysql]
自動再ハッシュなし
[mysqld]
ユーザー = mysql
ポート = 3308
ソケット = /mysql-instance/3308/mysql.sock
ベースディレクトリ = /data/mysql56
データディレクトリ = /mysql-instance/3308/data
pid ファイル = /mysql-instance/3308/mysql.pid
リレーログ = /mysql-instance/3308/リレーbin
リレーログ情報ファイル = /mysql-instance/3308/relay-log.info
サーバーID = 12
[mysqld_safe]
ログエラー = /mysql-instance/3308/mysql.err
pid ファイル = /mysql-instance/3308/mysql.pid

3309の設定は上記と同じですが、3308を3309に置き換えるだけです。

5. MySQLマルチインスタンス起動ファイルを作成する

>vi /mysql-instance/3308/mysql
>vi /mysql-instance/3309/mysql

#!/bin/sh
ポート=3308
mysql_user="root"
#独自のデータベースパスワードを入力してください mysql_pwd="123456"
cmd_path="/data/mysql56/bin"
mysql_sock="/mysql-instance/${port}/mysql.sock"
mysql_start() {
  if [ ! -e "$mysql_sock" ];その後
    printf "mysql 開始...\n"
    /bin/sh ${cmd_path}/mysqld_safe --defaults-file=/mysql-instance/${port}/my.cnf 2>&1 > /dev/null &
  それ以外
    printf "mysql が実行中です...\n"
    出口
  フィ
}
mysql_stop() {
  if [ ! -e "$mysql_sock" ];その後
    printf "mysql は停止しています...\n"
    出口
  それ以外
    printf "mysql 停止...\n"
    ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /mysql-instance/${port}/mysql.sock シャットダウン
  フィ
}
mysql_restart() {
  printf "mysql を再起動します...\n"
  mysql_stop
  睡眠2
  mysql_start
}
ケース$1
  開始) mysql_start ;;
  停止)mysql_stop;;
  再起動)mysql_restart ;;
*)
printf "使用方法: /data/${port}/mysql {start|stop|restart}\n"
エサック

6. MySQLユーザーディレクトリの権限を承認する

> chown -R mysql.mysql /mysql-instance
> chmod 700 /mysql-instance/3308/mysql
> chmod 700 /mysql-instance/3309/mysql

7. MySQLマルチインスタンスデータベースファイルを初期化する

> cd /daa/mysql56/scripts
> ./mysql_install_db --basedir=/data/mysql56 --datadir=/mysql-instance/3308/data --user=mysql
> ./mysql_install_db --basedir=/data/mysql56 --datadir=/mysql-instance/3309/data --user=mysql

8. 複数のMySQLインスタンスを起動する

> /mysql-instance/3308/mysql スタート
> /mysql-instance/3309/mysql スタート
> netstat -lntup|grep 330

9. MySQLインスタンスにログインする

> mysql -uroot -p -S /mysql-instance/3308/mysql.sock

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL マルチインスタンス構成ソリューション
  • CentOS 6.5 に MySQL 5.7.17 バイナリ インストールとマルチインスタンス構成を展開する
  • mysqld_multi を使用して単一のマシンに複数のインスタンスをデプロイする方法に関する MySQL チュートリアル
  • MySQLの導入と1台のマシンでのマルチインスタンス導入を迅速に実装
  • Linux に MySQL の複数のインスタンスをインストールしてデータ バックアップ サーバーとし、マルチ マスターから 1 つのスレーブへのマルチ インスタンス バックアップを実現する
  • MySQLマルチインスタンスインストールに基づく詳細な分析
  • シェルはmysqld_multiを使用して、複数のインスタンスのスレーブライブラリスクリプトを自動的に作成します。
  • CentOS7.5 は mysql_multi を使用して MySQL5.7.28 の複数インスタンスをインストールします (詳細説明)
  • MySQLデータベース入門:マルチインスタンス構成方法の詳しい説明

<<:  Linux のハードリンクとソフトリンクの原理と使用法の分析

>>:  期間限定フラッシュセール機能を実装するJavaScript

推薦する

MySQL 更新セットとの違い

目次問題の説明原因分析解決問題の説明最近、奇妙な問い合わせを受けました。更新ステートメントはエラーな...

VMware Workstation に Windows Server 2019 をインストールする (グラフィック チュートリアル)

キーの入力を求められた場合は、[キーがありません]を選択します。デスクトップエクスペリエンスを選択す...

JavaScript でツリー構造を構築するための効率的なアルゴリズムについての簡単な説明

目次導入アイデアID配列インデックスのマッピング関係を確立するツリー構造の構築原理要約する導入組織階...

React における ref の一般的な使用法の概要

目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....

MySql で SQL 実行プランをクエリするために explain を使用する方法

explain コマンドは、クエリ オプティマイザーがクエリの実行を決定した方法を確認する主な方法で...

Reactにおける制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

目次制御されていないコンポーネント制御コンポーネント知らせ結論は制御されていないコンポーネントフォー...

Vue コンポーネントでのアンチシェイクとスロットリングの使用例の分析

入力ボックスへのユーザー入力、ウィンドウのサイズ変更、スクロール、Intersection Obse...

CentOS 8/RHEL 8 に Cockpit をインストールして使用する方法

Cockpit は、CentOS および RHEL システムで使用できる Web ベースのサーバー管...

goaccess を使用して nginx ログを分析する詳細な方法

最近、goaccess を使って nginx ログを分析したいのですが、nginx ログの設定形式が...

Maven+Tomcat 基本イメージを構築する Docker の実装

序文Javaプログラミングでは、ほとんどのアプリケーションはMavenに基づいて構築されており、配信...

MySQL データベースの文字化け問題の原因と解決策

序文データベースのデータを表示すると、文字化けした文字が表示されることがあります。実際、どのようなデ...

CSS における px、em、rem、pt の特徴、違い、変換について詳しく説明します。

コンセプト紹介: 1. px (ピクセル):仮想的な長さの単位で、コンピュータ システムのデジタル画...

jsを使用してシンプルな弾幕スクリーンシステムを実装する

この記事では、弾幕効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的な...

MySQL テーブル構造を Excel にエクスポートする方法

要件は次のとおりですテーブル構造、フィールドコメント情報、テーブル名などをエクスポートします。これは...

ネイティブJavaScriptでカルーセルを実装する

この記事では、JavaScriptでカルーセルを実装するための具体的なコードを参考までに紹介します。...