# 新しいプロジェクトにセキュリティを提供するために、クラウド データを購入する予定でした。 Alibaba Cloud と Tencent Cloud は堂々巡りしており、その 2 つの言葉は高すぎます。データのバックアップだけではないのでしょうか? それなら自分でバックアップしたほうがいいかもしれません。
# 家に Raspberry Pi が 2 台あり、mysql を直接バックアップしています。インターネット上にチュートリアルがあるので、ここから始めます。いくつかのsegmentfault mysqlに関する記事を検索し、その内容に従ってみましたが、もちろん失敗しました。成功していたら、この記事は書いていないでしょう。 ps: 彼らのチュートリアルはすべて正しいです。
# オンライン チュートリアルを見たばかりなので、マスター サーバーとスレーブ サーバーの構成を開始しましょう。
1. マスター設定 (マスター)
通常は /etc/mysql/my.conf にある mysql 設定ファイルを変更します
server-id=1 //设置mysql的id标识 log-bin=/var/lib/mysql/mysql-bin //log-bin的日志文件,主从备份就是用这个日志记录来实现的 #binlog-do-db=mysql1 #需要备份的数据库名,如果备份多个数据库,重复设置这个选项 即可 #binlog-ignore-db=mysql2 #不需要备份的数据库名,如果备份多个数据库,重复设置这 个选项即可 #log-slave-updates=1 #这个参数当从库又作为其他从库的主库时一定要加上,否则不会给更新的记录写到binglog里二进制文件里 #slave-skip-errors=1 #是跳过错误,继续执行复制操作(可选)
同期用にメインの mysql に 2 を追加しますaccount
mysql>grant replication slave on *.* to 'sync-1'@'%' identified by '123456'; mysql>grant replication slave on *.* to 'sync-2'@'%' identified by '123456';
Restart msql
mysql>show master status; //可以查看主mysql状态
2. settings (slave)
から mysql 設定ファイル my.conf を変更します。2 つのスレーブ ノードは同じ方法で設定されています。
server-id=2 #log-bin=/var/lib/mysql/mysql-bi //从mysql可以不用设置日志文件
mysql からコマンド パラメータを追加した後、master_log_file と master_log_pos は、master mysql の show master status を使用してクエリできます
mysql>change master to master_host='192.168.145.222',master_user='sync-1',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=308; mysql>start slave //启动 mysql>show slave status\G //查询状态,Slave_IO_Running 和Slave_IO_Running都为yes表示成功
3. 設定の問題
Last_Errno: 1146
Whenスレーブをセットアップしました。マスター mysql にはすでにテーブルがありました。作成されたテーブルの binlog バイナリ ログにはレコードがありませんでした。スレーブ mysql はデータを書き込むことができませんでした。このとき、データベース ファイルをスレーブ mysql に手動でインポートする必要がありました。 ; 理由は、オンラインチュートリアルは全て新規にインストールしたマスターmsqlとスレーブmysqlであり、既存のデータで問題ないからです。
Last_Errno: 1062 Error 'Duplicate entry 'xxxxx' for key 'PRIMARY'' on query
主キーの競合、この問題はさらに複雑です。テーブルの設定が間違っているはずです。この問題の解決策は、後にスタック オーバーフローで見つかりました。
# on slave mysql> stop slave; mysql> flush privileges; # on master rest master mysql> reset master; # on slave; mysql> reset slave; mysql> start slave;
推奨 mysql ビデオチュートリアル、アドレス: https://www.php.cn/course/list/51.html
以上がMySQLのマスター/スレーブ構成の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。