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アプレットはシンプルな計算機を実装する

推薦する

構造とプレゼンテーションの分離を理解するためのWeb標準の学習

Web 標準について議論するときに必ず話題になるのは、構造とプレゼンテーションを分離することの重要性...

WeChatアプレットがSMS認証コード送信のカウントダウンを実装

この記事では、WeChatアプレットがSMS認証コードのカウントダウンを送信するための具体的なコード...

axios を使用してプロジェクト内の複数の繰り返しリクエストをフィルタリングする方法

目次1. はじめに:この場合、通常は 2 つのアプローチがあります。 2. CancelToken ...

要素動的ルーティングブレッドクラムの実装例

マスターするには: localStorage、コンポーネントのカプセル化えーと、GIF に変換したビ...

Docker rocketmq デプロイメントの実装例

目次準備展開プロセスRocketMQ の初体験関連する質問ヘルプドキュメント私は最近 RocketM...

Windows 7 64 ビットに最新バージョンの MySQL サーバーをインストールする方法のグラフィック チュートリアル

最近、MySQL データベースを勉強していて、設定ファイルを頻繁に変更したため、MySQL データベ...

MySQL 5.7 でパスワードを変更する簡単な方法

これは公式のスクリーンショットです。MySQL 5.7 をインストールすると、デフォルトのパスワード...

タイプライター効果を実現する純粋な js

この記事の例では、タイプライター効果を実現するためのjsの具体的なコードを参考までに共有しています。...

Windows に MySQL 5.7.18 の解凍バージョンをインストールするチュートリアル

1. インストールプロセスMySQL バージョン: 5.7.18 1. my.ini ファイル(簡易...

よく使われる HTML 形式のタグ_Powernode Java Academy

1. タイトルHTML では、<h1></h1> から <h6>...

CSSにスティッキー効果を追加する方法

前面に書かれたfilter:blur と filter:contrast がこのような素晴らしい化学...

Dockerはredis 5.0.7をインストールし、外部構成とデータの問題をマウントします

Redis は、ANSI C で記述されたオープンソースの NoSQL データベースであり、ネットワ...

OpenLayers 3 のベクターマップソースの読み込みの問題を解決する

1. ベクターマップベクター グラフィックスは直線と曲線を使用してグラフィックスを表します。これらの...

Vue2は応答性を提供するためにprovide injectを実装しています

1. vue2 での従来の書き方 // 親コンポーネントは 'foo' を提供します...