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

推薦する

CSS で写真のスタッキング効果を実装するサンプルコード

成果を達成するステップ1. 初期index.html最初の写真、一番上の写真を作成します。写真の i...

HTML ページにミュージック ビデオを追加する例

1. ビデオタグFirefoxでは自動再生をサポートしますが、GoogleとIEではサポートしません...

React を使って小さなプログラムを書くための Remax フレームワークのコンパイル プロセス分析 (推奨)

Remax は、実行時に構文制限のないソリューションを採用した React を使用して小規模なプロ...

Vue補間式とv-textディレクティブの違い

目次1. プラグイン式を使用する2. プラグイン式でv-cloakを使用してちらつきの問題を解決する...

v-html レンダリング コンポーネントの問題

以前 HTML を解析したことがあるので、今日は Vue ドラッグ アンド ドロップを使用して、Ku...

MySQL 最適化: キャッシュ最適化 (続き)

MySQL 内部には至るところにキャッシュがあります。MySQL のソースコードを読むと、キャッシ...

Docker を使用して pypi プライベート リポジトリを構築する方法

1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...

Linuxのバージョン情報を復号化する方法

Linux バージョンに関する情報を表示および解釈するのは、見た目よりも少し複雑です。単純なバージョ...

流れと動的なライン効果を実現する純粋なCSSコード

アイデア:外側のボックスは背景を設定し、内側のボックスは背景の幅と高さを設定し、ボックスを動かすアニ...

MySQL 匿名ログインでデータベースを作成できない問題の解決方法

よくある質問ユーザー ''@'localhost' によるデータベー...

MySQL 文字列分割の例 (区切り文字なしの文字列抽出)

区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...

Spring Boot 階層化パッケージング Docker イメージの実践と分析 (推奨)

目次1. Springbootプロジェクトを準備する2. 関連する設定を実行する3.パッケージ4.D...

CentOS 8にdockerをインストールする最も詳細な方法

CentOS 8にDockerをインストールする公式ドキュメント: https://docs.doc...

WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)

目次1. 上の写真2. ユーザーが存在しない3. コードをアップロードする1. 上の写真 2. ユー...

MySQL のスケジュールされた完全なデータベースバックアップ

目次1. MySQLデータのバックアップ1.1、データをバックアップするためのmysqldumpコマ...