mysql数据库主从备份

主数据库ip:$IP1

从数据库ip:$IP2

修改主数据库配置文件/root/edp/etlmysql/database/my.cnf
server-id = 1 #服务器id(主从不同)
log_bin = mysql-bin #打开日志(主机需打开)
expire_logs_days = 7 #自动清理30天前的日志
slave-skip-errors=1062 #复制过程中主键冲突从服务器可以自动跳过
replicate-wild-ignore-table=mysql.%#slave 不复制 master的 mysql库
log-slave-updates #更新从机日志
sync_binlog = 1 #执行1次写入后,与硬盘同步。1是最安全的,但是也是最慢的
auto_increment_offset = 2 #第一次加载数值时的偏移值的个位值
auto_increment_increment = 2#自增值
binlog-ignore-db=mysql#不给从机同步的库
重启主数据库

修改从数据库配置文件/etc/my.cnf

server-id = 2					
log_bin = mysql-bin.log	
expire_logs_days = 7
slave-skip-errors=1062				
replicate-wild-ignore-table=mysql.%
log-slave-updates
sync_binlog = 1
auto_increment_offset = 2
auto_increment_increment = 2

重启从数据库

mysql -uroot -p
在主服务器上为从服务器建立一个同步用户,该帐户授予REPLICATION SLAVE权限。

mysql>grant replication slave on *.* to 'replicate'@'&IP2' identified by ‘replicate';
mysql>flush privileges;

创建好同步连接帐户后,我们可以通过在从服务器(Slave)上用replicat帐户对主服务器(Master)数据库进行访问下,看下是否能连接成功。
mysql -h $IP1 -ureplicate -preplicate --port=13308

主数据库锁表
mysql>flush tables with read lock;

在从数据库远程备份
mysqldump -h$IP1 -uroot -p -P13308 --all-databases >all.sql
进入mysql命令行,将mysqldump文件导入从数据库
mysql>source all.sql
主数据库获取二进制日志的信息
mysql>show master status;
在这里插入图片描述
在配置主从关系中File的值为master_log_file的值,Position的值为m
aster_log_pos的值。

从数据库指定同步位置
mysql>stop slave; #停止同步
mysql>change master to master_host='$IP',master_user='replicate',master_password='replicate',master_port=13308,master_log_file='mysql-bin.000001',master_log_pos=170536855;#change mster 语句指定同步位置
mysql>start slave; #启动同步
mysql>show slave status\G查看从数据库状态
在这里插入图片描述
主数据库解除锁表
mysql>unlock tables;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值