1 主机配置
主机的 配置 就三个步骤,比拟容易:
1.1 受权给从机服务器
GRANT REPLICATION SLAVE ON *.* to 'rep1'@'10.3.50.27' identified by '123';
FLUSH PRIVILEGES;
这里示意配置从机登录用户名为 rep1,明码 为 123,并且必须从 10.3.50.27 这个地址登录,登录胜利之后能够操作任意库中的任意表。其中,如果不须要限度登录地址,能够将 IP 地址更换为一个 %。
留神,在 MySQL8
里边,这块有一些变动。MySQL8 中用户创立和受权须要离开,不能像下面那样一步到位,具体形式如下:
CREATE USER `rep1`@`10.3.50.27` IDENTIFIED WITH caching_sha2_password BY 'javaboy.COM';
GRANT Replication Slave ON *.* TO `rep1`@`10.3.50.27`;
2. 批改主库配置文件
开启 binlog
,并设置 server-id
,每次批改配置文件后都要重启 MySQL 服务才会失效
开启 binlog 次要是批改 MySQL 的配置文件 mysqld.cnf,该文件在容器的 /etc/mysql/mysql.conf.d
log-bin:同步的日志门路及文件名,肯定留神这个目录要是 MySQL 有权限写入的(我这里是偷懒了,间接放在了上面那 个 datadir
上面)。
binlog-do-db:要同步的数据库名,当从机连上主机后,只有这里配置的数据库才会被同步,其余的不会被同步。server-id: MySQL
在主从环境下的惟一标志符,给个任意数字,留神不能和从机反复。
批改 binlog_format 的值为 STATEMENT
,这一点很要害。
配置实现后 重启 MySQL 服务端:
docker restart mysql33061
再看一眼 binlog_format 设置胜利没: