Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明

Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明

CentOS6.7にmysql5.7.18をインストールする

1. /usr/localディレクトリに解凍する

# tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /usr/local

2. mysql-5.7.18-linux-glibc2.5-i686フォルダの名前をmysqlに変更します。

# cd /usr/local
    # mv mysql-5.7.18-linux-glibc2.5-i686/mysql

3. 新しいmysqlユーザーグループとmysqlユーザーを作成する

# グループ追加mysql
    # ユーザー追加 -r -g mysql mysql

4. 新しいデータディレクトリを作成する

# cd /usr/local/mysql
    # mkdirデータ

5. 所有者を変更し、755を付与する

# cd /usr/local
    # chown -R mysql:mysql mysql/
    # chmod -R 755 mysql/

6. mysqldを初期化する

# cd /usr/local/mysql
    # ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize 

初期ルートパスワードを記録します: GjlI08>p4kDw

7. mysqldをサービスとして追加して起動する

 # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

デフォルトのMySQL設定ファイル/etc/my.cnfを作成し、図の内容を追加します。

# vim /etc/my.cnf

my.cnfを保存して終了し、mysqldを起動します。

# サービス mysqld を開始

起動が成功したことを示す次のメッセージが表示されます

MySQLが正常に起動したか確認する

# ps -ef|grep mysql

起動が成功したことを示す次のメッセージが表示されます

もちろん、mysqldのステータスを確認することもできます

# サービス mysqld ステータス

8. mysqlにログインし、rootパスワードを変更する

# cd /usr/local/mysql
    # ./bin/mysql -uroot –p

手順 6 で生成された初期パスワードを入力します。次のメッセージは、ログインが成功したことを示します。

ルートパスワードを変更する

mysql> パスワードの設定 = パスワード('123456');
    mysql> 権限をフラッシュします。

初回ログイン時にrootパスワードを変更しないと、データベースを操作する際に以下のエラーメッセージが表示されます。この場合、rootユーザーのパスワードを変更する必要があります。

エラー 1820 (HY000): このステートメントを実行する前に、ALTER USER ステートメントを使用してパスワードをリセットする必要があります。

9. MySQL をリモートからアクセス可能に設定する (ファイアウォールをオフにする必要があります。chkconfig iptables off: 自動起動をオフに設定し、service iptables sto: ファイアウォールをオフにします)

まずmysqlにログインする

 mysql> mysqlを使用する
    mysql> ユーザーを更新し、ホストを '192.168.0.4' に設定し、ユーザーを 'root' に設定します。
    mysql> 権限をフラッシュします。

192.168.0.4 は、ローカル MySQL にリモートでアクセスできるリモート IP アドレスです。任意の IP アドレスでローカル MySQL にアクセスしたい場合は、192.168.0.4 を % に置き換えるだけです。

 mysql> ユーザーを更新し、ホストを '%' に設定し、ユーザーを 'root' に設定します。

mysql マスタースレーブレプリケーション

MySQL は Windows ではマスター、Linux ではスレーブです。MySQL のバージョンは 5.7.18 です。Windows の IP アドレスは 192.168.0.4、Linux の IP アドレスは 192.168.0.223 です。

1. マスターでbinlogを有効にする

mysqlホームディレクトリでmy.iniファイルを見つけ(存在しない場合は新規作成)、次のように設定します。

[mysqld]
# basedir をインストールパスに設定します
ベースディレクトリ=D:\\mysql-5.7.18
# datadir をデータディレクトリの場所に設定します
データディレクトリ=D:\\mysql-5.7.18\\データ
ポート = 3306
log-bin = mysql-bin #[必須] バイナリ ログを有効にする server-id = 4 #[必須] 一意のサーバー ID。デフォルトは 1 ですが、IP の最後の 3 桁が望ましい expire-logs-days = 7 # ディスクがログでいっぱいになるのを防ぐため、バイナリ ログを 7 日間だけ保持する binlog-ignore-db = mysql # データベースはバックアップされない binlog-ignore-db = information_schema
binlog-ignore-db = パフォーマンススキーマ
binlog-ignore-db = sys
binlog-do-db=mybatis #コピーするデータベースの名前

log_binが正常に開かれたかどうかをテストする

mysql> '%log_bin%' のような変数を表示します。

以下の図が表示されます。log_binがONの場合は起動成功、OFFの場合は起動失敗となります。

2. マスター データベースにバックアップ アカウントを作成します。backup はユーザー名、% は任意のリモート アドレスを表します。次の例は、パスワード 1234 を持つ任意のリモート アドレス backup がマスター ホストに接続できることを示しています。

mysql> '1234' で識別される 'backup'@'%' に *.* 上のレプリケーション スレーブを許可します。
    mysql> mysqlを使用する
    mysql> ユーザーからユーザー、認証文字列、ホストを選択します。

先ほど作成したバックアップ アカウントを確認できます。

3. データをコピーする

MySQLサービスを再起動し、読み取りロックを設定します

 ネットストップMySQL
      ネットスタートMySQL

mysqlにログイン

mysql> 読み取りロック付きのテーブルをフラッシュします。

読み取りロックとは、一貫性のあるスナップショットを取得するために、読み取りのみが可能で更新はできないことを意味します。

マスターサーバー上の現在のバイナリログ名とオフセット値を表示します。

 mysql> マスターステータスを表示 \G 

コピーのプロセスは次のとおりです。

ファイルはレプリケーション機能を実装するログ、つまり上図のバイナリ ログを表します。位置は、バイナリ ログ ファイルのオフセット以降のすべてのログがスレーブに同期され、オフセットより前のログは手動でインポートする必要があることを意味します。

マスターからデータをエクスポートし、スレーブにインポートする

別のコマンドウィンドウを開き、mysqldumpコマンドを使用してデータをエクスポートします。

d:\a.txt をスレーブにコピーし、MySQL データベースにインポートします。スレーブに mybatis データベースが存在しない場合は、まず作成してからインポートします。

エクスポートはmysqldump、インポートはmysql

4. スレーブ(192.168.0.223)を構成する

スレーブはLinux環境にあり、MySQL設定ファイルは/etc/my.cnfです。存在しない場合は、次の内容で新規に作成します。

[mysqld]
ベースディレクトリ=/usr/local/mysql
データディレクトリ=/usr/local/mysql/data
ソケット=/tmp/mysql.sock
ユーザー=mysql
ポート=3306
ログ bin = mysql bin
サーバーID=223

スレーブデータベースを再起動する

 # サービスmysqldを再起動します

スレーブデータベースにログインし、次の設定を行います

mysql> スレーブを停止します。

mysql>マスターを次のように変更します

マスターホスト='192.168.0.4',

master_user='バックアップ',

マスターパスワード='1234',

マスターログファイル='mysql-bin.000005',

マスターログ位置=601;

各パラメータの意味:

master_host レプリケーションを実装するホストのIPアドレス

master_userは、レプリケーションのためにマスターのmysqlサーバーにリモートでログインするためのユーザーであり、手順2で設定されます。

master_passwordは、ステップ2で設定されたリモートログインマスターのmysqlインターフェースのレプリケーションを実装します。

master_log_fileは、ステップ3の赤いボックス内のbinlogログファイルのレプリケーションを実装します。

master_log_posは、ステップ3の赤いボックス内のコピーされたbinlogログファイルのオフセットを実装します。

mysql> スレーブを起動します。

スレーブマシンのステータスを確認する

mysql> スレーブステータスを表示 \G

図にマークされた2つの項目の値がYesであれば、スレーブ設定が成功したことを意味します

5. メインデータベースの読み取りロックをオフにする

mysql> テーブルのロックを解除します。

6. テスト

問題がなければ、マスター上のmybatisデータの操作はスレーブ上のmybatisに同期されます。

文書アドレス: ここをクリック

要約する

上記は、編集者が紹介したMysql5.7.18のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。

以下もご興味があるかもしれません:
  • MySQL マスタースレーブレプリケーションの原理と実践の詳細な説明
  • Windows で MySQL マスター スレーブ レプリケーションを構成する方法
  • Docker ベースの MySQL マスタースレーブレプリケーション環境を構築するための実装手順
  • MySQL のマスタースレーブレプリケーションと読み取り書き込み分離の原理と使用法の詳細な説明
  • MySQL マスタースレーブレプリケーションの役割と動作原理の詳細な説明
  • MySQLデータベースのマスタースレーブレプリケーションの長い遅延に対する解決策
  • MySQL マスタースレーブレプリケーション 読み書き分離の設定方法の詳細説明
  • MySql マスタースレーブレプリケーションを実装する Docker 方式の詳細説明 (実践編)
  • MySQL 5.7.18 マスタースレーブレプリケーション設定(マスター 1 台とスレーブ 1 台)チュートリアルの詳細な説明
  • MySQL マスタースレーブレプリケーションプロセスの詳細な説明
  • MySQL のマスター スレーブ レプリケーション オプションをオンラインで変更する方法

<<:  Dockerプライベート倉庫の構築と利用の詳細説明

>>:  WeChatアプレットはシンプルな計算機を実装する

推薦する

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...

MySQLでNULL値を判定する際の落とし穴事例

目次序文Mysql の case when 構文:事例実践:要約:序文今日、プログラムを開発している...

JavaScript 関数のカリー化

目次1 関数カリー化とは何ですか? 2 カレーの役割と特徴2.1 パラメータの再利用2.2 早期復帰...

Apache ab同時負荷ストレステストの実装方法

腹筋コマンドの原則Apache の ab コマンドは、マルチスレッドの同時リクエストをシミュレートし...

Linuxはjoin -a1を使用して2つのファイルを結合します

次の2つのファイルを結合するには、それらを結合して1.txtに結合します。 # 1.txt ジェリー...

Mysql 5.6ではユーザー名とパスワードを変更するメソッドが追加されました

まずMySQLにログインする シェル> mysql --user=root mysqlパスワー...

Vue/React シングルページ アプリケーションをリフレッシュなしで復元するソリューション

目次導入なぜわざわざ?落とし穴のあるコミュニティソリューション(Vue を例に挙げる)現時点では良い...

jsを使用してシンプルなカルーセル効果を実現する

この記事では、シンプルなカルーセル効果を実現するためのjsの具体的なコードを参考までに紹介します。具...

MySQL の lru リンク リストの簡単な分析

1. 従来のLRUリンクリストについて簡単に説明するLRU:最も最近使われなかったものLRU リンク...

Linux での UDP について学ぶ

目次1. UDPとLinuxの基礎の紹介2. 各機能の使い方1. ソケット機能の使用2. バインド機...

Mysql通信プロトコルの詳細な説明

1.Mysql接続方法MySQL 通信プロトコルを理解するには、まず MySQL サーバーへの接続に...

CSS で div 凹角スタイルを実装するサンプル コード

通常の開発では、凸型の丸い角、つまり border-radius 属性を使用するのが一般的です。凹角...

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...

MySQL のロックとトランザクションの簡単な分析

MySQL 自体はファイルシステムに基づいて開発されましたが、ロックの存在が異なります。データベース...

CentOS7にNginxを素早くインストールする方法を教えます

目次1. 概要2. Nginxインストールパッケージをダウンロードする3. 依存パッケージをインスト...