MySQL主从复制

系统:Centos 7

MySQL:5.7

参考资料:https://blog.csdn.net/thekenofdis/article/details/78965941

---------------------------------------------------------------------------------------

主数据库:192.168.1.101

从数据库:192.168.1.102

代码里不知道为什么会有,不知道咋处理掉。。。忽视就好了

一、主库上先开启logbin    

log-bin必须写在[mysqld]模块的范围里面

server-id必须是唯一的,不能跟其他数据库ID重复

MySQL主从复制_第1张图片

然后重启mysql服务,到log-bin指定的目录里查看是否mysql-bin和index文件

记得把目录给mysql这个用户w权限,否则mysql在目录里写入不了数据,那启动mysql就会报错

[root@localhost data]# pwd
/data
[root@localhost data]# ls
mysql-bin.000001  mysql-bin.index
[root@localhost data]# 


二、在主库上创建用户,用于从库来复制同步数据

replication salve:这是允许同步的权限
192.168.1.102:这是从库的地址,可以允许单个IP,也可以允许某个IP段

mysql> grant replication slave on *.* to 'fuzhi'@'192.168.1.102' identified by 'Lin123456+';
Query OK, 0 rows affected, 1 warning (1.64 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


三、在从库上设置server-id

MySQL主从复制_第2张图片


四、在从库上change master

mysql> change master to
    -> MASTER_HOST='192.168.1.101',                    //填主库的IP地址
    -> MASTER_PORT=3306,                               //填主库mysql的端口
    -> MASTER_USER='fuzhi',                            //填主库允许同步复制的账号,这里是mysql里创建的用户
    -> MASTER_PASSWORD='Lin123456+',                   //同上,不过这里是填密码
    -> MASTER_LOG_FILE='mysql-bin.000001',             //主库binlog的位置,在主库上进数据库,然后show master logs;可以查看
    -> MASTER_LOG_POS=1145;                            //开始的位置,查看方法同上。
Query OK, 0 rows affected, 2 warnings (1.66 sec)

mysql> 

上述命令会生成一个文件叫master.info,以后同步复制的信息都会更新在这个文件里


五、在从库上开启slave

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

检查从库的slave是否起来,若Slave_IO_Running和Slave_SQL_Running都为yes,则表示正常。

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.101
             省略......
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes    //为Yes
            Slave_SQL_Running: Yes    //为Yes
              Replicate_Do_DB: 
        省略.....
1 row in set (0.00 sec)


六、完成

现在主库上有什么操作,从库上都会及时自动更新。




你可能感兴趣的:(MySQL,mysql主从)