MySQL5.5各架构复制
实现主服务器和从服务器之间的数据复制,关于mysql的安装这里不在重复叙述,如有需要可参考其他文档,这里假设两个节点的服务器已
本文档将要介绍的内容:
1、mysql的主从复制的配置
2、配置半同步
3、基于SSL的复制
4、复制过滤
5、主主模型
一、系统环境
master: 192.168.56.101
slave: 192.168.56.102
基于MySQL-5.5.24
实现主服务器和从服务器之间的数据复制,关于mysql的安装这里不在重复叙述,如有需要可参考其他文档,这里假设两个节点的服务器已经安装完成并能够正常启动。
二、配置的mysql主从复制
1、配置主服务器
1.1、编辑MySQL主配置文件
[root@master ~]# vim /etc/my.cnf //编辑配置文件确保有以下两行
log-bin=mysql-bin //定义开启二进制日志
server-id = 1 //定义server-id,主从服务器的id不能一样
1.2、建立具有复制权限的用户
[root@master ~]# /usr/local/mysql/bin/mysql -uroot -p
mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO cpmysql@'192.168.56.102' IDENTIFIED BY 'cpmysql'; //创建cpmysql用户并设置密码为cpmysql
mysql> FLUSH PRIVILEGES; //刷新授权表
查看当前使用的二进制文件和Posotions数值,后边在从服务器上要设置这两个值
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 358 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.05 sec)
2、配置从服务器
2.1、编辑MySQL主配置文件
[root@slave ~]# vim /etc/my.cnf
#log-bin=mysql-bin //可选,关闭二进制日志文件
server-id = 11 //定义server-id不能和主服务器相同
relay-log=mysql-relay //开启中继日志且名称为mysql-relay
[root@slave ~]# service mysqld restart //重新启动mysql以使新配置生效
[root@slave ~]# /usr/local/mysql/bin/mysql -u root -p //以root用户登录mysql
确认relay_log已开启:
mysql> SHOW GLOBAL VARIABLES LIKE 'relay_log';
+---------------+-------------+
| Variable_name | Value |
+---------------+-------------+
| relay_log | mysql-relay |
+---------------+-------------+
1 row in set (0.00 sec)
确认server_id配置生效其直不能与主服务器相同
mysql> SHOW GLOBAL VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 11 |
+---------------+-------+
1 row in set (0.00 sec)
2.2、配置主服务器相关参数
mysql> CHANGE MASTER TO MASTER_HOST='192.168.56.101',MASTER_USER='cpmysql',MASTER_PASSWORD='cpmysql',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=358;
说明:MASTER_LOG_FILE和MASTER_LOG_POS参数的值要和上边在主服务器上查询到的值一致。
启动从服务器进程
mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)
查询从服务器状态,能看到Slave_IO_Running和Slave_SQL_Running两个进程运行状态为Yes
mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.56.101
Master_User: cpmysql
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 358
Relay_Log_File: mysql-relay.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
...
如果出现其他异常情况造成不能启动,可查看mysql的错误日志,里边有详细的错误信息,例如这里为/mysqldata/slave.err
3、测试主从复制配置是否成功
在主服务器上创建一个数据库testdb
[root@master ~]# /usr/local/mysql/bin/mysql -u root -p
mysql> CREATE DATABASE testdb;
Query OK, 1 row affected (0.01 sec)
在从服务器上查看是否已经成功复制过来
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| testdb |
+--------------------+
5 rows in set (0.05 sec)
可以看到已经成功复制。
4、一些建议配置
4.1、在主服务器上开启随时同步二进制日志至文件中,默认主服务器生成的二进制日志先放在缓存中,而从服务器需要靠主服务器上生成的二进制文件来保持和主服务器的一致,所以应该让主服务器产生二进制文件后立即同步至二进制日志文件中。
修改MySQL的主配置文件my.cnf添加如下行:
[root@master ~]# vim /etc/my.cnf
sync_binlog=1
[root@master ~]# service mysqld restart //重启mysql服务使配置生效
在主服务器上查询参数是否生效
mysql> SHOW GLOBAL VARIABLES LIKE 'sync_binlog';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| sync_binlog | 1 |
+---------------+-------+
1 row in set (0.00 sec)
4.2、适用于innodb引擎,使没一次产生的事务日志同步到磁盘之后才返回成功,这样可以有助于保证事务日志的安全性,避免因为特殊原因造成事务日志的丢失,但这样也会降低在执行大量需要记录事务日志操作时的执行速度。
修改Mysql的主配置文件my.cnf添加如下行:
[root@master ~]# vim /etc/my.cnf
innodb_flush_logs_at_trx_commit=1
4.3、设置从服务器为只读,避免误操作造成主从服务器的数据不一致
[root@slave ~]# vim /etc/my.cnf
read_only=1
5、如果主服务器运行了一段时间,从服务器为新增的服务器时就不能根据以上方法来配置了,需要现在主服务器上备份:
先在主服务器上给mysql施加读锁
mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.00 sec)
通过逻辑卷创建快照备份mysql,这里假设mysql的数据目录的挂载的设备为/dev/mysqlvg/mysqllv
[root@master ~]# lvcreate -L 50M -s -p r -n mysql-snap /dev/mysqlvg/mysqllv
在逻辑卷上创建好快照之后查看当前mysqld的二进制文件及Position的数值,完成后立即释放之前施加的读锁
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 478 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
释放读锁:
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)
挂载刚创建的逻辑卷快照并备份至从服务器
[root@master ~]# mount /dev/mysqlvg/mysql-snap /mnt
[root@master ~]# tar cf allmysql.tar /mnt/ //如果数据文件过大就压缩
拷贝该归档文件至从服务器,把内容覆盖至从服务器mysql的数据目录,并移除逻辑卷快照
[root@master ~]# umount /mnt
[root@master ~]# lvremove /dev/mysqlvg/mysql-snap
其他步骤与上边的从服务器配置相同,参考-->2.2、配置主服务器相关参数,,注意替换:MASTER_LOG_FILE和MASTER_LOG_POS参数的值为释放读锁时查看到的信息。
至此就可以实现主从复制了。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Sandaran data dan pemulihan kegagalan: Perbincangan tentang kepentingan replikasi tuan-hamba MySQL dalam mod kluster Pengenalan: Dalam beberapa tahun kebelakangan ini, dengan pertumbuhan berterusan skala dan kerumitan data, sandaran pangkalan data dan pemulihan kegagalan telah menjadi sangat penting. Dalam sistem teragih, replikasi tuan-hamba MySQL digunakan secara meluas dalam mod kluster untuk menyediakan ketersediaan tinggi dan toleransi kesalahan. Artikel ini akan meneroka kepentingan replikasi tuan-hamba MySQL dalam mod kluster dan memberikan beberapa contoh kod. 1. Prinsip asas dan kelebihan MySQL master-slave replication MySQL master-slave replication adalah umum

Mengatasi keselarasan yang tinggi dengan mudah: Analisis kelebihan prestasi replikasi tuan-hamba MySQL sebagai teknologi kelompok Dengan perkembangan pesat Internet, lawatan pengguna ke laman web dan aplikasi telah menunjukkan trend pertumbuhan yang meletup. Dalam situasi konkurensi tinggi ini, cara memastikan kestabilan dan prestasi sistem telah menjadi tugas penting bagi setiap pembangun dan pentadbir sistem. Dalam pangkalan data, teknologi replikasi tuan-hamba MySQL digunakan secara meluas dan telah menjadi salah satu penyelesaian yang berkesan untuk menangani konkurensi yang tinggi. Artikel ini akan meneroka kelebihan prestasi replikasi tuan-hamba MySQL sebagai teknologi kluster. pertama

Menyahsulit replikasi tuan-hamba MySQL: Mendedahkan mekanisme pelaksanaan utamanya dalam mod kluster Pengenalan: Dalam sistem pangkalan data moden, ketersediaan tinggi dan fleksibiliti data adalah sangat penting. Sebagai sistem pengurusan pangkalan data hubungan sumber terbuka, MySQL mempunyai pelbagai aplikasi dalam memenuhi keperluan pengguna. Replikasi tuan-hamba MySQL adalah bahagian yang sangat kritikal dalam seni bina pangkalan data MySQL dan digunakan untuk mencapai sandaran data dan ketersediaan tinggi. Artikel ini akan menumpukan pada mendedahkan mekanisme pelaksanaan utama replikasi tuan-hamba MySQL, terutamanya dalam mod kluster.

Mengoptimumkan prestasi pangkalan data: Cara terbaik untuk menggunakan replikasi tuan-hamba MySQL dalam teknologi kluster Abstrak: Dengan perkembangan pesat Internet, isu prestasi pangkalan data telah menjadi tumpuan pelbagai perusahaan dan organisasi. Teknologi replikasi tuan-hamba MySQL memainkan peranan penting dalam menyelesaikan kesesakan prestasi pangkalan data. Artikel ini akan memperkenalkan konsep dan prinsip replikasi tuan-hamba MySQL, serta kaedah penggunaan terbaik dalam teknologi kluster, untuk membantu pembaca mengoptimumkan prestasi pangkalan data. 1. Pengenalan Apabila jumlah data terus meningkat, masalah prestasi pangkalan data telah menjadi semakin ketara. Bagaimana untuk mengoptimumkan nombor

Adakah replikasi hamba tuan MySQL adalah teknologi kluster atau teknologi pengimbangan beban? Ringkasan analisis dan perbezaan: MySQL master-slave replication ialah teknologi replikasi pangkalan data yang digunakan untuk menyegerakkan data pangkalan data pada berbilang pelayan. Artikel ini akan menganalisis dan membezakan perbezaan antara replikasi hamba induk MySQL, teknologi kluster dan teknologi pengimbangan beban dari segi prinsip teknikal, senario aplikasi dan ciri fungsi. Pengenalan: Dalam aplikasi Internet moden, ketersediaan tinggi dan skalabiliti pangkalan data adalah penting. Replikasi tuan-hamba MySQL adalah salah satu penyelesaian biasa, bagaimanapun,

Penjelasan terperinci tentang fungsi dan kelebihan replikasi tuan-hamba MySQL dalam teknologi kluster Pengenalan MySQL ialah sistem pengurusan pangkalan data hubungan yang berkuasa yang digunakan secara meluas dalam pelbagai laman web dan aplikasi berskala besar. Apabila jumlah data dan permintaan capaian meningkat, tekanan pada pelayan MySQL tunggal secara beransur-ansur meningkat Untuk meningkatkan prestasi dan kebolehpercayaan pangkalan data, orang ramai mula menggunakan teknologi kluster, antaranya replikasi tuan-hamba MySQL adalah salah satu daripadanya. teknologi yang biasa digunakan. Prinsip replikasi tuan-hamba MySQL Replikasi tuan-hamba MySQL merujuk kepada

Memanfaatkan potensi teknologi kluster replikasi induk-hamba MySQL: Penilaian perbandingan penyelesaian sumber terbuka dan penyelesaian komersial Dengan pembangunan berterusan perniagaan Internet dan peningkatan jumlah data, permintaan untuk penyelesaian kluster pangkalan data menjadi semakin kukuh. Teknologi replikasi induk-hamba MySQL hanya memenuhi permintaan ini Ia boleh memproses operasi baca dan tulis pangkalan data secara berasingan pada berbilang nod, meningkatkan prestasi baca dan ketersediaan pangkalan data. Artikel ini akan meneroka potensi teknologi kluster dalam replikasi tuan-hamba MySQL, dan menjalankan penilaian perbandingan penyelesaian sumber terbuka dan penyelesaian komersial.

Dengan perkembangan pesat Internet, jumlah data dalam sistem aplikasi semakin meningkat, dan keperluan untuk prestasi dan kebolehpercayaan pangkalan data juga semakin tinggi dan lebih tinggi. Sebagai salah satu pangkalan data hubungan sumber terbuka yang paling biasa digunakan, MySQL mempunyai prestasi tinggi dan kestabilan dan digunakan secara meluas dalam pelbagai aplikasi peringkat perusahaan. Sebagai penyelesaian replikasi data yang biasa digunakan, replikasi tuan-hamba MySQL boleh meningkatkan kebolehpercayaan data dan prestasi membaca dan menulis, dan digunakan secara meluas dalam aplikasi data berskala besar. Ciri kluster replikasi tuan-hamba MySQL merujuk kepada penyegerakan data pangkalan data induk melalui mekanisme replikasi.
