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

推薦する

Linux gzip コマンドのファイル圧縮実装原理とコード例

gzip は、Linux システムでファイルの圧縮と解凍によく使用されるコマンドです。このコマンドで...

HTML コードを書くための 30 のヒント

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

MYSQLは継続サインイン機能を実装しており、サインイン後1日経過すると最初から開始します(SQL文)

1. テストテーブルを作成する テーブル `testsign` を作成します ( `userid`...

MySQL 5.7 以降のバージョンのダウンロードとインストールのグラフィック チュートリアル

1. ダウンロード1. MySQL公式サイトのダウンロードアドレス: https://downloa...

MySQLアカウントのパスワード変更方法(概要)

序文:データベースを日常的に使用すると、パスワードが単純すぎて変更する必要がある場合、パスワードの有...

MySQL InnoDB ReplicaSet の簡単な紹介

目次01 InnoDBレプリカセットの紹介02 InnoDBレプリカセットの制限03 導入前に知って...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...

なぜCSSをヘッドタグに配置する必要があるのか

考えてみてください。なぜcss 、 javascriptのようにbodyタグの末尾ではなく、 hea...

Linux システムでの virtuoso データベースの詳細なインストールと使用

最近、リンク データについていくつか調査していて、rdf データベースを使用する必要があったため、v...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

WeChatアプレットにナンバープレート入力機能を実装

目次序文背景大きな推測パターンを見つける構造とスタイルコンポーネントの実装パラメータキーボードの種類...

HTML テーブルタグチュートリアル (35): 列間属性 COLSPAN

複雑なテーブル構造では、一部のセルが垂直方向に複数のセルにまたがるため、列間属性 COLSPAN を...

dockerコンテナにvimをインストールするソリューション

目次物語の始まりvimをインストールし、hadoop-hive.envを編集します。不注意で回避しま...

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...

Tomcat でよく使われるフィルターの詳細な説明

目次1. クロスドメインフィルタ CorsFilter 1.1 設定例1.2 パラメータの説明2. ...