mysql5.7主从同步

准备两台虚机,在同一个网段,装的mysql都是同一个版本,我这里装的都是5.7

一台是linux(192.168.19.200)主,一台是centos(192.168.19.130)从

步骤如下:

1、修改配置文件,打开bin_log日志

vi /usr/local/mysql-5.7.11-linux-glibc2.5-x86_64/my.cnf

加一句:log-bin=binlog

2、创建binlog目录

mkdir /usr/local/mysql-5.7.11-linux-glibc2.5-x86_64/data/binlog

3、重启mysql

4、关闭防火墙

service iptables stop

getenforce

5、备份数据库

mysqldump -u root -p --socket=/usr/local/mysql-5.7.11-linux-glibc2.5-x86_64/my3307.sock --all-databases >backall.sql

6、然后把备份的文件复制到130的root目录中

scp bakall.sql root@192.168.19.130:/root

7、修改网络名

vi /etc/sysconfig/network

HOSTNAME=mysqlm

8、修改主机名文件

vi /etc/hosts

添加两行:主备的地址和主机名

192.168.19.200 mysqlm

192.168.19.130 mysqls

9、把配置拷贝到另外一个地址上

scp /etc/hosts root@192.168.19.130:/etc/hosts

以上完成配置,保证两台机子配置一样

10、登录mysql

mysql - uroot -p

a.创建复制专用账户

grant replication slave on
. to ‘repl‘@‘192.168.19.%‘ identified by ‘123456‘;

接着获取master端的重要信息

show master status;

记录下查看的结果,后面配置slave时用到。

b.去另外一台机子上去配置slave到master的连接

连接到mysql之后

change master to

master_host=‘192.168.19.200‘,
master_port=3306,
master_user=‘repl‘,
master_password=‘123456‘,
master_log_file=‘binlog.000001‘,
master_log_post=1331;
执行结束之后,没有报错的话,接下来就可以启动slave端的应用服务了
start slave;
c.查看下slave端的数据接收和应用状态:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以下两条都是yes表明成功了
接下来就是同步测试啦。

今天就写到这里,下次在补充。

相关文章