MYSQL的架构中主从异步复制是怎么进行的
这篇文章将为大家详细讲解有关MySQL的架构中主从异步复制是怎么进行的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
10年积累的成都网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有天柱免费网站建设让你可以放心的选择与我们合作。
/ | 主服务器 | 从服务器 |
Ip | 192.168.31,79 | 192.168.31.188 |
hostname | mysql | mysql2 |
mysql-version | 5.7.23 | 5.7.23 |
server-id | 0ac92118-59f9-11ea-8806-080027c1c1ff | 2516faba-65f4-11ea-82b6-080027b0e953 |
1.主库修改参数文件
[root@mysql soft]# vi /etc/my.cnf
添加内容如下:
server-id=79 #设置主服务器的ID(不能和别的服务器重复,随意)
innodb_flush_log_at_trx_commit=2 #可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;
sync_binlog=1 #,值可设置 1、500、1000;可自己根据测试性能配置
log-bin=mysql-bin #binlog日志文件名
binlog-ignore-db=mysql # 表示不同步mysql库
binlog-ignore-db=information_schema
binlog-ignore-db=oggmysql
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
binlog-do-db=TEST # 表示同步TEST库
2.主库创建同步账号
[root@mysql ~]# mysql -uroot -p
mysql> create user 'sync'@'%' identified by 'Oracle123'
mysql> grant FILe on *.* to 'sync'@'192.168.31.188' identified by 'Oracle123';
#赋予FILE权限,允许从从库ip访问主库
mysql> grant replication slave on *.* to 'sync'@'192.168.31.188' identified by 'Oracle123';
#赋予主从同步权限
mysql> flush privileges;
3.重启主库
[root@mysql ~]# service mysqld stop
[root@mysql ~]# service mysqld start
[root@mysql ~]# mysql -uroot -p
mysql> show master status;
注:以上截图中的FILE,POSTTION在备库配置时需要使用到
4. 主库备份数据库
[root@mysql soft]# mysqldump --single-transaction -uroot -pOracle123 TEST > TEST_20200310.sql
5.从库恢复数据库
mysql> create database TEST;
[root@mysql2 soft]# mysql -uroot -pOracle123 TEST < TEST_20200310.sql
6.从库参数修改
[root@mysql2 mysql]# vi /etc/my.cnf
添加内容如下:
server-id=188
#log-bin=mysql-bin #从库提高性能可以不开bin-log日志
replicate-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=oggmysql
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
binlog-do-db=TEST
innodb_flush_log_at_trx_commit=2 # 可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;
sync_binlog=1000 # 每进行n次事务提交之后,MySQL将binlog_cache中的数据强制写入磁盘。
slave_parallel_workers=4 #根据实际情况决定开启多少个线程用于主从复制
slave_parallel_type=logical_clock #基于组提交的并行复制方式
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
7. 从库重启
[root@mysql2 data]# service mysql stop
[root@mysql2 data]# service mysql start
8.从库配置
mysql> stop slave;
mysql> change master to master_host='192.168.31.79', master_user='sync',master_password='Oracle123', master_log_file='mysql-bin.00001' ,master_log_pos=154;
mysql> start slave;
mysql> show slave status \G;
9.验证
1)主库插入数据
mysql> insert into TEST values (7,'liuqi');
2)备库查询
mysql> select * from TEST;
关于MYSQL的架构中主从异步复制是怎么进行的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
网站栏目:MYSQL的架构中主从异步复制是怎么进行的
分享网址:http://pwwzsj.com/article/ipgghs.html