zoukankan      html  css  js  c++  java
  • mysql 主从分离配置

    主服务器: IP: 47.94.157.59

    从服务器: IP: 112.74.215.215

    一、       主服务器相关配置

    1. 进入mysql  

                  

            2、创建一个数据库

                     

                     选中该数据库   use  test;

            3、给这个数据库配置一个用户( http://blog.sina.com.cn/s/blog_9179ad990102x4gi.html

                   grant replication slave on *.* to '用户名'@'主服务器' identified by '用户密码';

                  mysql>  grant replication slave on *.* to 'testuser'@'47.94.157.59' identified by '12345678';

                  mysql>  flush privileges #刷新权限

                  注释:授权用户testuser只能从112.74.215.215这个地址访问主服务器47.94.157.59的数据库,并且只具有数据库备份的权限

           4、修改/etc/my.cnf配置文件vi /etc/my.cnf

                    [root@iZ2zej7zfjle71smpwkp30Z ~]# cd /etc

                    [root@iZ2zej7zfjle71smpwkp30Z etc]# vi my.cnf

                    在文件[mysqld]下添加下面数据

                               server-id=1  #表示主服务器
                               log-bin=mysql-bin  #启动MySQL二进制日志系统,
                               binlog-do-db=ourneeddb  #需要同步的数据库
                               binlog-ignore-db=mysql  #不同步mysql系统数据库,若还有其它不想同步的,继续添加

                              

                     [root@localhost ~]lmnp restart #重启服务

            5、查看主服务器master状态(注意File与Position项,从服务器需要这两项参数)

                    mysql> show master status;

                   

            6、导出数据库

             导出数据库之前先锁定数据库

                         flush tables with read lock;    #数据库只读锁定命令,防止导出数据库的时候有数据写入

                         unlock tables; #解除锁定

                导出数据库结构及数据:

                             mysqldump -uroot -p ourneeddb > /home/ourneeddb.sql

             导出存储过程及函数:

                             mysqldump -uroot -p -ntd -R ourneeddb > ourneeddb_func.sql

               注释:tips: -ntd 导出存储过程、 -R导出函数

    二、       从服务器相关配置 

             1、修改/etc/my.cnf配置文件vi /etc/my.cnf 

                    [mysqld]下添加以下参数,若文件中已经存在,则不用添加
                                     server-id=2                #设置从服务器id,必须于主服务器不同
                                     log-bin=mysql-bin           #启动MySQ二进制日志系统
                                     replicate-do-db=ourneeddb   #需要同步的数据库名
                                     replicate-ignore-db=mysql      #不同步mysql系统数据库
                                     [root@localhost~ ]/etc/init.d/mysqld restart    #重启服务

                            

            2、数据导入(把主服务器的数据导入) 

           3、配置主从同步

                          [root@localhost~ ]mysql -uroot -p
                         mysql>use mysql
                         mysql>stop slave;
                         mysql>change master to
                                   master_host='47.94.157.59',
                                   master_user='testuser',
                                   master_password='12345678',
                                   master_log_file='mysql-bin.000001',(主服务器查询的参数)
                                   master_log_pos=107;   #log_file与log_pos是主服务器master状态下的File与Position
                        mysql>start slave;
                        mysql>show slave statusG;

                        

                     

                    注释:Slave_IO_Running: Yes   Slave_SQL_Running: Yes这两项必须为Yes

                              Log_File、Log_Pos要于master状态下的File,Position相同

            注意:不能再从服务器添加数据   否则会主服务器添加的时候会报主键冲突

              锁表 清理从服务器数据 清除binlog

                      purge master logs to'mysql-bin.000010';   #清除mysql-bin.000010之前的

                      purge master logs before '2018-3-8 00:00:00'; #清除2018-3-8 00:00:00'之前的

                      reset master 清空日志文件

                      iptables -F 清除防火墙规则

                      PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 1 minute); 清除1分钟之前的

           Last_IO_Errno错误代码说明

                   http://blog.csdn.net/u011698346/article/details/37934505

  • 相关阅读:
    2015年创业中遇到的技术问题:1-10(乱码-SpringMVC-jquery-JSON等)
    2015年创业中遇到的技术问题:1-10(乱码-SpringMVC-jquery-JSON等)
    热烈庆祝UE4完全免费Free---GitHub上源码的关联方法
    关于团队沟通,达成结论的一个看法
    关于团队沟通,达成结论的一个看法
    C++生成GIF小结
    最近交流创业-拉投资-谈合作的一些经验总结
    最近交流创业-拉投资-谈合作的一些经验总结
    微信开发学习日记(一):快速阅读5本书,掌握整体背景
    Netweaver和CloudFoundry里的trace开关
  • 原文地址:https://www.cnblogs.com/sanqiyi/p/8522404.html
Copyright © 2011-2022 走看看