mysql 的主从复制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 的主从复制相关的知识,希望对你有一定的参考价值。

准备

主服务器IP:192.168.1.100

从服务器IP:192.168.1.101

在主服务器上创建数据库,并添加初始数据,然后导入到从服务器

1.分别在主从服务器上安装mysql服务,mysql服务器的版本最好一致,或者主服务器的版本高于从服务器


2.在主服务上创建用户从服务器同步的用户,并设置权限

      insert into mysql.user(Host,User,Password) values(‘localhost‘,‘master ‘,password(‘123456‘)); 

      flush privileges; 

      grant replication slave  on *.* to ‘master‘@‘192.168.1.101‘ identified by ‘123456‘ with grant option; 


3.设置主从同步

      主服务器

vi /etc/my.cnf   #编辑配置文件,在[mysqld]部分添加下面内容

    server-id=1   #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

    log-bin=mysql-bin  #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

    binlog-do-db=master-slave #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

    binlog-ignore-db=mysql   #不同步mysql系统数据库

     :wq!   #保存退出

    service mysqld  restart  #重启MySQL

    

    从服务器

    vi /etc/my.cnf   #编辑配置文件,在[mysqld]部分添加下面内容

    server-id=2   #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

    log-bin=mysql-bin  #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

    binlog-do-db=master-slave #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

    binlog-ignore-db=mysql   #不同步mysql系统数据库

    :wq!   #保存退出

    service mysqld  restart  #重启MySQL

      show master status;  #查看主服务器,出现以下类似信息


4.在从服务器上设置同步并开启同步,查看同步状态

    mysql>

    slave stop;   #停止slave同步进程

    change master to master_host=‘192.168.1.100‘,master_user=‘master ‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000011 ,master_log_pos=107;   

    #执行同步语句(红色参数是在主服务器上执行show master status;得到的File、Position参数

    slave start;    #开启slave同步进程


      SHOW SLAVE STATUS\G   #查看slave同步信息,出现以下内容表示同步正常

        Slave_IO_Running: Yes

        Slave_SQL_Running: Yes


5.测试:在主服务器中修改数据,查看从服务器中数据是否改变



本文出自 “程序猿的那些年” 博客,请务必保留此出处http://uyuyuuy.blog.51cto.com/6190986/1791956

以上是关于mysql 的主从复制的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据库之——主从复制读写分离的实验操作

mysql主从复制搭建

MySQL主从介绍准备工作配置主配置从测试主从同步

MySQL主从复制实践与部署

mysql 主从master-slave同步复制 配置,为读写分离准备

MySQL 运维 主从复制 -- 主从复制概述主从复制原理搭建MySQL主从复制