mac下mysql主从同步配置

Posted 高疯疯疯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac下mysql主从同步配置相关的知识,希望对你有一定的参考价值。

一、环境说明

两台mac,mysql环境master是5.7.20,slave是5.7.21
master IP: 172.21.127.10
slave IP:172.21.127.12

二、master机器配置

1、更改配置文件

# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address =  172.21.127.10

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

server-id = 1
log-bin = mysql-bin
binlog-format = ROW #选择row模式

2、重启mysql使上述配置生效

3、创建用于主从同步的用户,为其授权,并指定该用户只能在172.21.127.12这台机器上登陆。

grant  replication  slave  on  *.*  to  \'slave1\'@\'172.21.127.12\'  identified  by  "slavepass";

4、为了保证主从库的数据库一致性,需要先为master加上读锁,使其变成只读

FLUSH TABLE WITH READ LOCK

5、记录下master的binlog日志文件,以及偏移量

6、将master上现有数据导出,进入你想要导出sql文件的目录下,执行下面语句。

mysqldump -uroot -proot --all-databases > db.sql

7、解除master的读锁

UNLOCK TABLES;

8、将db.sql复制到slave机器上

三、slave机器配置

1、首先还是修改配置文件。参考master机器上的配置。将server-id修改,不能重复,如果没有配置server-id一会儿start slave会报错

2、重启mysql

3、将书面的db.sql导入到数据库

mysqldump -u root -p 要导出的数据库名>名字随意.sql 
#在这里直接
mysqldump -root -proot < /Users/my/db.sql

4、使slave与master建立其起同步,这是很关键的一步

STOP SLAVE;

CHANGE MASTER TO
    MASTER_HOST=\'172.21.127.10\',
    MASTER_USER=\'slave1\',
    MASTER_PASSWORD=\'slavepass\',
    MASTER_LOG_FILE=\'mysql-bin.000003\',
    MASTER_LOG_POS=1791;

START SLAVE;

四、总结

经过以上步骤你就可以简单的实现主从同步了,如果有问题,可以多看之前配置的log-error日志,碰到问题多查日志~

以上是关于mac下mysql主从同步配置的主要内容,如果未能解决你的问题,请参考以下文章

linux下mysql5.7数据库主从同步复制

mysql在windows下主从同步配置

Linux下安装MySQL及MySQL主从同步配置

mysql5.5主从同步复制配置

linux下mysql数据库主从同步配置

windows下mysql-8.0.13主从同步配置方案(读写分离)