mysql 5.7 主从

配置主库

配置文件

user=mysql
server-id=1
port=3306
server-id=1 #服务器id (主从必须不一样)
log-bin=mysql-bin #打开日志(主机需要打开),这个mysql-bin也可以自定义,这里也可以加上路径
binlog-do-db=test#要给从机同步的库(多个写多行)
binlog-ignore-db=mysql #不给从机同步的库(多个写多行)
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
expire_logs_days=7 #自动清理 7 天前的log文件,可根据需要修改

重启

service mysqld restart
mysql> show variables like '%log_bin%';

查看是否开启
在这里插入图片描述

建立备份账号

grant replication slave on *.* to 'backup'@'%' identified by '123456';
mysql> use mysql
mysql> select user,authentication_string,host from user;

在这里插入图片描述

拷贝数据

查看主服务器上当前的二进制日志名和偏移量值这里的file 和position 要和从上的一致

mysql> show master status\G 

在这里插入图片描述

备份数据

mysqldump -uroot -p123456 -hlocalhost db > /opt/db.bak

发送数据到从库

scp /opt/db.bak root@192.168.1.233:/opt/

主从库需要安装

yum install openssh-clients -y

配置从库

配置文件

user=mysql
server_id=2 #MySQLid 后面2个从服务器需设置不同
port=3306
 #加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错。
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
#relay_log_recovery=1 #从机禁止写
#super_read_only=1 #从机禁止写

创建库

mysql> create database db;

导入数据

mysql -uroot -p123456 -hlocalhost db< /opt/db.bak
service mysqld restart
mysql -uroot -p123456
mysql> stop slave;

mysql> change master to
-> master_host='192.168.1.222', #master的ip
-> master_user='backup', #备份用户名
-> master_password='123456', #密码
-> master_log_file='mysql-bin.000002', #上面截图,且要与master的参数一致
-> master_log_pos=1696; #上面截图,且要与master的参数一致

mysql> start slave;

查看状态

mysql> show slave status \G

在这里插入图片描述
图中2个yes 表示成功

关闭掉主数据库的读取锁定

mysql> unlock tables;

配置完成进行测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值