mysql my.cnf停止同步_MySQL主从同步设置和同步错误处理

注意:

1、两台服务器数据库版本应一致,如果不一致,从服务器的版本要高于主服务器的版本。

2、MySQL进行实时数据同步,本质上是将mysql动作同步到Slave服务器,而不是对实质的数据进行同步。所以同步开始前,两端的数据要保持一致。

Master服务器:192.168.0.1

Slave服务器:192.168.0.2

===  Master停止运行时,Mysql同步配置===

一、主服务器设置:

1、修改/etc/my.cnf

在[mysqld]区段内加入参数

server-id=1

log-bin

sql-bin-update-same

2、为Slave服务器创建连接账户,用于同步mysql>GRANT FILE ON *.* TO backup@192.168.1.2 IDENTIFIED BY '1234'; mysql>grant all privileges on *.* to 'wan'@'%' identified by 'xxx'; mysql>FLUSH PRIVILEGES;

3、重启mysql服务:service mysqld restart

此时因为有加入log-bin参数,因此开始有index产生了,在/var/lib/mysql目录下有.index档案纪录数据库的异动log.

二、Slave服务器设置:

1、修改/etc/my.cnf

在[mysqld]区段加入

master-host=192.168.0.1  master-user=backup  master-password=1234  master-port=3306  server-id=2  master-connect-retry=60 预设重试间隔60秒  replicate-do-db=vbb 告诉slave只做vbb数据库的更新 replicate-ignore-db=mysql #不同步的数据库 replicate-ignore-table=vbb.users #不同步vbb数据库的users表

2、重启Slave服务器mysql服务

三、Slave服务器从主服务器读取数据,并开启同步

mysql>FLUSH TABLES WITH READ LOCK; #首先执行这个,对主服务器加锁

mysql>LOAD DATA FROM MASTER  #语句的话,必须授予全局的 FILE 和 SELECT 权限,仅针对MyISAM引擎,对InnoDB表无用。

如果数据是InnoDB的,需要在服务器上将表结构和数据分开导出,然后拷贝至Slave服务器。

导出整个数据库结构和数据:mysqldump -u用户名 -p密码 -h主机 database > filename.sql

导出某个表的数据和结构:mysqldump -u用户名 -p密码 -h主机 database table > filename.sql

只导出数据库中表的数据:mysqldump -u用户名 -p密码 -h主机 -T database table > filename.sql

只导出数据库中表的结构:mysqldump -u用户名 -p密码 -h主机 -d database table > filename.sql

4、确保两端数据一致后,开启同步

mysql>slave start;

5、查看Slave服务器同步信息

mysql>show slave status\G;

可以看到,Slave_IO_Running 和 Slave_SQL_Running 两列的值都为 "Yes",这表明 Slave 的 I/O 和 SQL 线程都在正常运行。

6、对Master服务器释放锁

mysql>UNLOCK TABLES;

=== Master还在运行中,如何在不停止它的情况下配置Slave ===

注:主从服务器的配置同上。

1、首先在Master服务器查看同步日志信息

mysql>show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000054 | 680 |                     | mysql |

+------------------+----------+--------------+------------------+

可以看到日志文件是:mysql-bin.000054,同步点是680

2、在Slave服务器配置同步mysql>slave stop; # mysql默认同步开始 mysql>CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='backup',MASTER_PASSWORD='1234',MASTER_LOG_FILE='mysql-bin.000054',MASTER_PORT='3306',MASTER_LOG_POS=690;  #配置同步点 mysql>slave start; #开启同步

3、查看同步信息

mysql>show slave status\G;

可以看到,Slave_IO_Running 和 Slave_SQL_Running 两列的值都为 "Yes",这表明 Slave 的 I/O 和 SQL 线程都在正常运行。

4、配置完成

博主仍从事运维行业,拥有10年+ 一线运维经验,技术上靠得住(还行吧),生活不容易,纯粹补贴家用,时间充裕,与有需要的朋友 互相帮助。

业务范围:网站、服务器、系统(linux|windows)、架构、部署、调优、排错、安全方案、低成本解决中小量攻鸡、业务上云(所有公有云)

合作形式:代维、兼职、临时技术支持

合作理念:诚信第一、信任是基石、不解决问题不收钱、完工才收

职业操守:讲诚信和绝不影响用户数据安全,您信任后再合作

客户监督:本博文评论一直开放,合作的朋友们可自由发表合作后对我的评价(坏朋友请放过我吧0_0)

联系方式:QQ:278566109

自评:我的技术不是很好也不是很差,自信能解决绝大多数问题。截止目前合作过的项目20个左右。相信合作后不会让您失望。

鉴于运维的敏感性,信任是很重要的,有需要的朋友们可以联系我,谢谢照顾与支持,感恩~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值