1.主服务器配置
vim /etc/my.conf
[mysqld]
#这是数据库ID,此ID是唯一的,主库默认为1,其他从库以此ID进行递增,ID值不能重复,否则会同步出错;
server-id = 1
#默认 binlog日志存放路径,mysql-bin 日志名称
#二进制日志文件,此项为必填项,否则不能同步数据;
log-bin=/var/lib/mysql/mysql-bin
#日志中会记录成每一行数据被修改的形式
#binlog默认的格式
binlog-format=STATEMENT
#需要同步的数据库,如果需要同步多个数据库;则继续添加此项。
binlog-do-db = slaveDB
# binlog-do-db = slaveDB1
# binlog-do-db = slaveDB2
binlog-ignore-db = mysql 不需要同步的数据库;
2.从服务器配置
#从机服务id
#中继日志
[mysqld]
server-id=22
relay-log=mysql-relay
主从服务器常用参数说明:
主服务器:
binlog-do-db= 仅同步指定的库
binlog-ignore-db= 忽略指定的库
从服务器:
replicate_do_db= 同步指定的库
replicate_ignore_db= 忽略指定的库
replicate_do_table= 同步指定的表
replicate_ignore_table= 忽略指定的表
replicate_wild_do_table= 如aming.%,支持通配符
replicate_wild_ignore_table=
3.在主服务器建立账户,并授权从服务器
GRANT REPLICATION SLAVE ON . TO ‘slave’@‘从机器数据库IP’ IDENTIFIED BY ‘123456’
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.100.201 '123456';
4.执行show master status;
1.记录下File和Position的值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FolrlvTG-1582781036037)(en-resource://database/4025:1)]
2.执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
5.从服务器复制主服务器数据
CHANGE MASTER TO MASTER_HOST=‘主机IP’,MASTER_USER=‘slave’,MASTER_PASSWORD=‘123456’,MASTER_LOG_FILE=‘File名字’,MASTER_LOG_POS=Position数字
CHANGE MASTER TO MASTER_HOST='192.168.100.203',MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000023',MASTER_LOG_POS=223;
6.启动slave
start slave
7.查看slave状态
show slave status
下面两个参数都是Yes,则说明主从配置成功!
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
8.主机新建库、新建表、insert记录,从机复制
9.停止从机复制功能
stop slave
注意事项
server UUID,不能一样