mysql--一主多从配置

一.  主服务器Master

1. 设置权限用户

设置只允许192.168.120.27访问的用户:

grant replication slave,super,reload on *.* to forslave@192.168.120.27 identified by 'zhijiatest';

2. 主数据库服务器安装目录,打开my.ini,在文件末尾增加如下配置:

#数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值;

server-id = 1

#启用二进制日志;

log-bin=mysql-bin

#用于创建存储过程时

log_bin_trust_function_creators=1

#需要同步的二进制数据库名;

binlog-do-db=readandwrite_test

#不同步的二进制数据库名,如果不设置可以将其注释掉;

#binlog-ignore-db=mysql

#每次trax 提交的时候写一次trax log, 并执行fsync

innodb_flush_log_at_trx_commit=1

#异步进行日志记录

sync_binlog=1

#设定生成的log文件名;

log-bin="D:/MySQL Datafiles/materlog"

#把更新的记录写到二进制文件中;

log-slave-updates

#跳过错误,继续执行复制操作

slave-skip-errors=all

3. 保存文件。重启Mysql服务。

4. 附录

show master status;

-- show master status G

/*查询是否开启bin-log*/

show variables like '%log_bin%';

show variables like 'log_bin_trust_function_creators';

 

show master logs;

show processlist;

FLUSH PRIVILEGES;

 

show binlog events;

show binary logs;

二.  从服务器Slave

1. 配置

#如果需要增加Slave库则,此id往后顺延;

server-id = 2

#启用二进制日志;

log-bin=mysql-bin

#用于创建存储过程时

log_bin_trust_function_creators=1

2. Mysql>运行

CHANGE MASTER TO

-- 主库host

MASTER_HOST='192.168.120.57',

-- 在主数据库服务器中建立的用于该从服务器备份使用的用户

-- MASTER_USER='forslave',

-- MASTER_PASSWORD='zhijiatest',

MASTER_USER='root',

MASTER_PASSWORD='root',

MASTER_PORT=3306,

-- 主服务器的位置

MASTER_LOG_FILE='materlog.000001',

MASTER_LOG_POS=98,

-- 如果发现主服务器断线,重新连接的时间差

MASTER_CONNECT_RETRY=60;

3. Mysql>运行

START SLAVE;

-- STOP  SLAVE;

show slave status;

-- show slave statusG

附:常见错误

检查端口的进出站

用户名密码的权限

原文地址:https://www.cnblogs.com/tongxinyuan/p/4435377.html