MYSQL主从数据同步-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

MYSQL主从数据同步

简介:
+关注继续查看

1、在主mysql

flush logs//刷新事务日志 建立事务日志节点

察看my.cnf是否有

server-id=1 //保证配置文件里面有此信息

 

 

show master status察看事务日志点和位置如下格式显示:

+------------------+----------+--------------+------------------+

| File         | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 |       98 |     |             |

+------------------+----------+--------------+------------------+

重要的信息是:mysql-bin.000001   98 //mysql-bin.000001二进制日志值 98是坐标偏移量

每次执行flush logs;都会改变这两个数值 执行flush logs mysql-bin.000001文件的最后一个

数字会+1 98不变  只有向数据库里面写入数据的时候98数字会改变  当再次执行flush logs 时候mysql-bin.000001最后的一位数字+1  坐标偏移量又返回到98的数值  执行flush logs只是产生一个新的事务日志 此次产生的的事务日志没有记录任何数据库操作日志 

 

 

GRANT REPLICATION SLAVE ON *.* TO 'zzh'@'%' IDENTIFIED BY '000000';//为从服务器建立更新的帐号

 

2、从mysql

配置mysql数据库的my.cnf文件写入下面信息

server-id=ID // ID号从2开始  1为主的mysqlID

replicate-do-db=dns_data //制定需要从mysql复制的数据库 如果不写会复制所有的主mysql的数据库

master-host=192.168.1.2 //mysqlIP地址

master-user=zzh //mysql里建立的为从mysql服务器连接的用户名

master-password=000000 //mysql里建立的为从mysql服务器连接的用户名的密码

master-port=3306 //连接用的端口号 可以不填写

 

登陆到mysql 里面 写入

CHANGE MASTER TO

MASTER_HOST='192.168.1.2',

MASTER_USER='zzh',

MASTER_PASSWORD='000000',

MASTER_LOG_FILE='mysql-bin. 000001',

MASTER_LOG_POS=98;

重启mysql数据库 登陆后执行

show slave status\G;

*************************** 1. row ***************************

             Slave_IO_State: Waiting for master to send event

                Master_Host: 192.168.1.5

                Master_User: slavedns

                Master_Port: 3306

              Connect_Retry: 60

            Master_Log_File: mysql-bin.000006

        Read_Master_Log_Pos: 445

             Relay_Log_File: localhost-relay-bin.000061

              Relay_Log_Pos: 322

      Relay_Master_Log_File: mysql-bin.000006

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

            Replicate_Do_DB:

        Replicate_Ignore_DB:

         Replicate_Do_Table:

     Replicate_Ignore_Table:

    Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

                 Last_Errno: 0

                 Last_Error:

               Skip_Counter: 0

        Exec_Master_Log_Pos: 445

            Relay_Log_Space: 322

            Until_Condition: None

             Until_Log_File:

              Until_Log_Pos: 0

         Master_SSL_Allowed: No

         Master_SSL_CA_File:

         Master_SSL_CA_Path:

            Master_SSL_Cert:

          Master_SSL_Cipher:

             Master_SSL_Key:

      Seconds_Behind_Master: 0

1 row in set (0.00 sec)

 

ERROR:

No query specified

 

 

 

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes //确保都显示yes

       如果Slave_IO_Running: NO 可以尝试执行stop slave; start slave;

到此文件主从就简单的配置完成

 

SlaveMysqlReplication工作有两个线程, I/O threadSQL threadI/O的作用是从master 3306端口上把它的binlog取过来(master在被修改了任何内容之后,就会把修改了什么写到自己的binlog等待slave更新),然后写到本地的relay-log,SQL thread则是去读本地的relay-log,再把它转换成本Mysql所能理解的语句,于是同步就这样一步一步的完成.决定I/O thread的是/var/lib/mysql/master.info,而决定SQL thread的是/var/lib/mysql/relay-log.info.

 

在从mysql服务器里有一个文件/mysql/var/master.info 此文件记录了从服务器和主服务器的连接信息和事务日志的信息

文件内容如下:

14

mysql-bin.000013  //在主mysql执行show master status; 察看到的file的值和这个值一样

210               //在主mysql执行show master status; 察看到的position的值和这个值一样 就代表此时主从的数据相同

192.168.1.5

zzh

000000

3306

60

0




本文转自 freeterman 51CTO博客,原文链接:http://blog.51cto.com/myunix/1094869,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
7238 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
25920 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2503 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
9501 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
8920 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8120 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
20957 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
5824 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
2950 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载