美文网首页
Mysql 主从复制

Mysql 主从复制

作者: leivers | 来源:发表于2019-02-13 21:56 被阅读0次

主从复制原理

1.主服务器上面的任何修改都会通过自己的 I/O tread(I/O 线程)保存在二进制日志 Binary log 里面。
2.从服务器上面也启动一个 I/O thread,通过配置好的用户名和密码, 连接到主服务器上面请求读取二进制日志,然后把读取到的二进制日志写到本地的一个Realy log(中继日志)里面。
3.从服务器上面同时开启一个 SQL thread 定时检查 Realy log(这个文件也是二进制的),如果发现有更新立即把更新的内容在本机的数据库上面执行一遍。

主服务器上修改配置文件
vim/etc/my.cnf
[mysqld]
log-bin=/var/log/mysql/mysql-bin
server-id=1
gtid_mode=ON
enforce_gtid_consistency=1 
创建日志目录并赋予权限
shell> mkdir /var/log/mysql
shell> chown -R mysql.mysql /var/log/mysql
重启服务
shell> systemctl restart mysqld
创建一个专门用于复制数据的用户并授权

Mysql中操作

grant all privileges on *.* to "tom"@"%" identified by "Www.1.com"
grant 权限 on 库名.表名 to "用户名"@"允许登陆的IP地址" identified by “密码”
从服务器上进行测试
shell> mysql -utom -pWww.1.com -h10.18.43.122
shell> mysql -u测试用户 -p密码 -h主服务器IP

将主服务器中的数据导出在文件中

shell> mysqldump -uroot -pWww.1.com --all-databases --master-data=1 >dbdump.db 
shell> mysqldump  -u用户名  -p密码  --all-databases  --master-data=1 > dbdump.db

主服务器中使用 scp 工具,把备份出来的数据传输到从服务器中

scp dbdump.db 10.18.43.177:/root/dbdump.db

配置从服务器

vim /etc/my.cnf
[mysqld]
server-id=2
gtid_mode=ON
enforce_gtid_consistency=1

在从服务器上导入数据

mysql -uroot -pWww.1.com < dbdump.db

在从服务器上配置连接到主服务器的相关信息

在数据库中执行

mysql -utom -pWww.1.com -h 10.0.104.122
CHANGE MASTER TO
MASTER_HOST='10.0.104.122',
MASTER_USER='tom',
MASTER_PASSWORD='Www.1.com',
MASTER_AUTO_POSITION=1;

启动从服务器的复制线程以开始复制

mysql> start slave;

查看状态

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.223.101
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 194
               Relay_Log_File: compute1-relay-bin.000002
                Relay_Log_Pos: 367
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
             ......

接下来就可以进行主服务器中进行测试(创建数据库或增加表中的信息)
再登陆上从服务器观察变化

相关文章

  • MySQL如何配置主从复制,如何修复主从复制出现的异常?

    MySQL如何配置主从复制,如何修复主从复制出现的异常? 一、什么是Mysql主从复制 MySQL主从复制是其最重...

  • MySQL-主从复制&读写分离

    零、本文纲要 一、MySQL主从复制 主从复制 主从复制过程 配置主从复制 二、MySQL读写分离 读写分离 Sh...

  • Mysql 主从复制

    Mysql 主从复制 MySQL Replication 主从复制(也称 AB 复制)允许将来自一个MySQL数据...

  • 主从复制 & MHA

    一,mysql主从复制 (1)场景一(主从复制 _ 全新环境下) (2)场景二(主从复制 _ mysql已经使用一...

  • mysql主从复制

    构建MySQL主从复制 MySQL的主从复制和mysql的读写分离两者有着紧密联系,数据的读写分离实在主从复制的基...

  • Spring Data JPA 使用主从数据源

    Mysql 配置主从复制 参考:Mysql主从复制-半同步复制[https://www.jianshu.com/p...

  • MySQL集群篇

    1 集群之主从复制 1.1 主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群...

  • 深度探索MySQL主从复制原理

    概要 MySQL Replication (MySQL 主从复制) 是什么? 为什么要主从复制以及它的实现原理是什...

  • 【转】MySQL 8.0复制改进

    1 - MySQL主从复制模型 我们从最基本的主从复制模型开始说起,下图是最经典的MySQL主从复制架构图: My...

  • mysql主从代理

    mysql主从复制+读写分离 环境: mysql主:193.168.1.1 mysql从:193.168.1.2 ...

网友评论

      本文标题:Mysql 主从复制

      本文链接:https://www.haomeiwen.com/subject/zmrjeqtx.html