在不同的角色上分不同的步骤。在主节点上分为:修改配置、创建用于同步的账号、授权、show master status(用于获取File、Position信息)。在从节点上:修改配置、选择主节点、show slave status(用于检查是否配置成功)。最后是验证,可以用手动的创建数据库、删除数据库。
在主节点上
修改my.cnf配置文件,内容如下:
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
#保持唯一,我是根据ip地址+数据库实例数量命令的
server-id=1
#开启binlog,指定binlog的文件前缀
log-bin=mysql-bin
max_connections=4000
skip-name-resolve
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
重启mysql。
检查binlog是否开启:
show variables like '%log_bin%';
创建用于数据同步的账户:
create user 'backup'@'%' identified by '123456';
grant replication slave,replication client on *.* to 'backup'@'10.250.115.210';
检查主节点状态:
show master status;
reset master;
在从节点上
修改my.cnf配置文件,内容如下:
[mysqld]
#保证该id唯一
server-id=11301
#中继日志
relay_log=relay-log
#设置只读,开启读写分离
read_only=ON
重启数据库。绑定主节点:
change master to master_host='10.250.115.211', master_user='backup', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=2830;
检查从节点状态:
show slave status\G
发现Slave_IO_Running和Slave_SQL_Running都是Yes,成功。
手动测试
在主库上进行新建数据库和修改数据库的操作。