mysql主从复制配置

1、复制的基本原理

复制的基本原则

每个slave只有一个master
每个slave只能有一个唯一的服务器ID
每个master可以有多个slave

复制的最大问题

数据同步到从机延时

配置

mysql版本要求一致且后台以服务运行 主从都配置在[mysqld]结点下,都是小写

主机配置

主机修改my.cnf配置文件

# 主从复制配置如下

#主服务器唯一Id[必填]
server-id=1
#启用二进制日志[必填]
log-bin=自己mysql的路径/mysqlbin 
#主机,读写都可以
read-only=0
#设置不要复制的数据库[可选]
#binlog-ignore-db=mysql
#设置需要复制的数据库[可选](输数据库名字) 
binlog-do-db=test

从机配置

从机修改my.cnf配置文件

#主从复制配置
#从服务器唯一Id
server-id=2
#只读,对拥有super权限的账号是不生效的
read_only = 1

配置完都重启mysql服务 主机从机都关闭防火墙 关闭虚拟机linux防火墙:service iptables stop

建立账户并授权

1、在主机上建立账户并授权slave

GRANT REPLICATION SLAVE ON *.* TO 'zhangsan' @ '192.168.14.167【从机数据库IP】' IDENTIFIED BY '123456';

更新权限

flush privileges;

查询master的状态

show master status

2、从机上配置需要复制的主机

CHANGE MASTER TO MASTER_HOST='ip地址', MASTER_PORT=3306, MASTER_USER='zhangsan', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysqlbin.000001', MASTER_LOG_POS=154;

3、启动从服务器复制功能

start slave;

show slave status\G【\G是为了以键值的形式显示,好看一些】 下面两个参数都是Yes,则说明主从配置成功!

如果SlaveIOrunning 为Connecting ,检查端口port 或 账号密码

测试

在主机上新建个user表,此时从机上也新增了个user表

文档信息

版权声明:可自由转载(请注明转载出处)-非商用-非衍生

发表时间:2022年4月24日 11:05