[mysql](https://cloud.tencent.com/product/cdb?from=10680)レプリケーションを自分で構成したことはありません。この2日間は無料です。無料のVMWareワークステーションプレーヤーをコンピューターにインストールし、最新バージョンのCentOSをダウンロードして、構成を開始しました。使用されたコマンドのみが、実行中のアカウントとして記録されます。
# ip addr //IPアドレスを表示
# yum searchifconfig
# yum installnet-tools
# yum installvim
# yum installtelnet
# yum installwget
# yum installgpm //マウスドライバー
# systemctlenable gpm
# systemctlstart gpm
メインサーバー:192.168.5.128/24
スレーブサーバー1:192.168.5.129/24
スレーブサーバー2:192.168.5.130/24
主に「高性能MySQL」の第3版を参照してください。 Mysqlは本で紹介されていますが、CentOSはデフォルトで[MariaDB](https://cloud.tencent.com/product/tdsql?from=10680)のYUMソースを統合しているので、わざわざ変更する必要はありません。MariaDBを直接使用するだけです。
# yum installmariadb-server; mariadb-client
# vim/etc/my.cnf.d/server.cnf
[ mysqld]
init_connect =’SET collation_connection = utf8_unicode_ci’
init_connect =‘SET NAMES utf8’
character-set-server= utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
# vim/etc/my.cnf.d/client.cnf
[ client]default-character-set= utf8
# vim/etc/my.cnf.d/mysql-client.cnf
[ client]default-character-set= utf8
# systemctlstart mariadb
# systemctlenable mariadb //システムの起動時に自動的に起動します//mysqlインスタンスを初期化します
# mysql_secure_installation
//ルートリモートログインを許可する
# mysql -uroot-p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY'123456';
mysql> flush privileges ;
//Centos7ファイアウォールのオープンポート番号
# firewall-cmd--zone=public--add-port=3306/tcp --permanent
# firewall-cmd--reload //ファイアウォールを再起動します
# firewall-cmd--list-ports //開いているポートを表示する
# firewall-cmd--state //デフォルトのファイアウォールステータスを表示する
# mysql -uroot-p
mysql> GRANTREPLICATION SLAVE,-> REPLICATION CLIENT ON *.*-> TO repl@'192.168.5.%' IDENTIFIEDBY 'password';
# vim/etc/my.cnf.d/server.cnf
log_bin =mysql-bin
server_id =128//IPアドレスの最後の8ビットを直接使用します
sync_binlog =1
# vim/etc/my.cnf.d/server.cnf
# SQLレプリケーションスレーブ設定
log_bin =mysql-bin
server_id =129//IPアドレスの最後の8ビットを直接使用します
relay_log =/var/lib/mysql/mysql-relay-bin
log_slave_updates=1
read_only =1
# mysql -uroot-p
//メインライブラリへの接続方法を設定する
mysql> CHANGEMASTER TO MASTER_HOST='192.168.5.128',-> MASTER_USER='repl',-> MASTER_PASSWORD='password',-> MASTER_LOG_FILE='mysql-bin.000001',-> MASTER_LOG_POS=0;//レプリケーションを開始します
mysql> startslave;//レプリケーションステータスの表示
mysql> showslave status \G;
Slave_ IO_Running: Yes
Slave_ SQL_Running: Yes
Seconds_ Behind_Master:0//メインライブラリのデータベースがコピーされているか確認してください
mysql> showdatabases;
mysql> use …;
mysql> showtables;
Recommended Posts