MySql 5.6 数据单向同步详细步骤(亲测成功同步)

来源:互联网 发布:网络监控工作总结 编辑:程序博客网 时间:2024/06/01 17:22

主服务器Mysql版本一定要低于或者等于备份服务器Mysql版本

此教程是在window 7系统上进行的,MySql版本为:5.6

一、在主、备份服务器上各添加同步账号,执行以下命令:

    mysql>grant replication slave,replication client on *.* to repl@'192.168.1.%' identified by '123456';

    创建一个用户名为:repl 密码为:123456  并且在局域网内都能访问的账号

    如果要指定到某一台服务器,把%换成指定服务器的IP

二、在主服务器上修改MySql配置文件(windows操作系统上是my.ini  ,linux操作系统上市my.cnf)

    在[mysqld]下添加以下配置:

                            server_id=1

                            log_bin=mysql-bin

         必须明确指定一个唯一的服务器ID,一般为服务器IP地址的末8位

     要保证其不变且唯一。log_bin是来指定二进制日志文件的名称。

三、 保存文件,重新启动mysql服务。用命令查看是否配置成功,show master status;

四、 配置备份服务器,同样找到my.ini文件,修改配置如下:

     在[mysqld]下添加:

                      server_id=3

                      log_bin=mysql-bin

                      relay_log=D:Program FilesMySQLMySQL Server 5.6
elay-bin

                      log_slave_updates=1

                      read_only=1

    其中relay_log是指定中继日志的位置和命名,在此不用指定master_port、master_host 等这     些配置,这些都是老配置,新版本已经将其抛弃。保存之后同样也要重启mysql服务。

五、在备份服务上启动 同步 功能

    执行以下命令:

                mysql>change master to master_host='192.168.1.5',

                    ->master_user='repl',

                    ->master_password='123456',

                    ->master_log_file='mysql-bin.000001',

                    ->master_log_pos=0;

    执行后,可以通过 show slave statusg; 来检查同步功能是否正在执行。我们可以看到slave_io_state为空,slave_io_running、slave_sql_running显示都为NO,说明备份服务器已经配置成功,但是还没有启动 ,然后再运行 启动 同步 命令:

     mysql>start slave;

     如果执行成功,我们用show slave statusg; 来检查是否成功,如果slave_io_state为:Waiting for master to send event,slave_io_running、slave_sql_running都为YES,此时整个同步功能就已经成功了,接下来你可以试着改变一下主服务器数据,看一下备份服务器的数据是否发生了变化!

    如果要指定同步的数据名称,请用以下配置:

    主服务器上用: binlog-do-db=dbname  (注:dbname为数据的名称),如果要同步多个数据库

binlog-do-db=dbname1

binlog-do-db=dbname2

binlog-do-db=dbname3

上面的dbname1,dbname2,dbname3分别对应你要写入二进制的数据库

 

    备份服务器上用:replicate_do_db=dbname   (注:dbname为数据的名称) 如果要同步多个数据库,配置和主服务器一样!

0 0
原创粉丝点击