主的设置方法

step1、修改配置:

必配项:

一、主从关系组内唯一的server ID,取值范围是1~(232)-1

二、启用二进制日志,如果这两项任意一项以前没有配置过,配好以后都需要重启准备作为主的服务器

配置方法:

关闭MySQL服务器,找到my.cnf或者my.ini文件打开,找到[mysqld]部分添加下面2行。server-id可以自行跟进需要修改,修改保存以后,重启服务器

 

[mysqld]
log-bin=mysql-bin
server-id=1

注意:

1.如果使用的是事务型的存储引擎innodb,为了最大可能的持久性和数据一致性,需要在my.cnf文件中设置innodb_flush_log_at_trx_commit=1, sync_binlog=1

2.主服务器的配置中要确保skip-networking选项不可用,否则从无法和主通讯导致复制关系建立失败

step2、为了使从可以连接到主,还需要为从创建用户和密码

多个从可以使用相同或不同的用户名密码,创建的用户需要赋予必要的权限replication slave,在主服务器上执行以下sql

CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';

step3、获取主的二进制日志坐标

如果主机之前在运行的时候没有启用二进制日志,那么show master status 或者mysqldump —master-data得到的就是空。这时在为从配置日志文件和位置时日志文件是’’,文件位置是4。

如果主机之前已经启用了二进制日志,按以下步骤获取坐标

1、通过命令行连接到主,然后执行

FLUSH TABLES WITH READ LOCK;

执行后不要退出命令行,否则读锁就会被释放

2、另开一个连接主的会话,执行:

SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000003 | 73       | test         | manual,mysql     |

+------------------+----------+--------------+------------------+

3、如果主上没有旧数据需要同步到从, 退出执行读锁的会话或者在会话里释放掉锁:

unlock tables;

4、如果主上有旧数据需要同步到从,选一种方式制作数据快照

 

原文地址:https://www.cnblogs.com/janey/p/5987050.html