mysql双机热备的实现

2018-04-19 16:31:03
  1. 准备两个mysql,A和B,A为主,B为从。前提是这两个数据库现在的表结构要一模一样,否则不成功。这个要锁表处理了。


  2. Amysql添加账户,只用于热备。


    语法如下:
        CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; 
       grant replication slave on *.* to 'dog'@'218.206.70.146' identified by '123456';

  3. 修改A中mysql配置文件,我是yum安装的mysql7.2   配置文件在  /etc/my.cnf


    找到配置文件my.cnf打开后,在[mysqld]下修改即可:

        [mysqld]

        server-id = 1        //唯一id

        log-bin=mysql-bin              //其中这两行是本来就有的,可以不用动,添加下面两行即可.指定日志文件

        binlog-do-db = test     //备份的数据库

        binlog-ignore-db = mysql    //不备份的数据库

       重启mysql服务    

        我的是  service mysqld restart  ;其余数据库自行百度

        进入mysql服务后,可通过指令查看Master状态,输入如下指令:

        flush tables with read lock;这里使用了锁表,目的是为了产生环境中不让进新的数据,好让从服务器定位同步位置,初次同步完成后,记得解锁。  unlock tables;

        show master status   得到   master的数据,后面从数据库会用


         4.B 数据库 slave设置

            同样修改mysql 的配置文件 my.conf

            唯一不同的是  server—id  要设置不同的值


            重启服务

        用change mster 语句指定同步位置

这步是最关键的一步了,在进入mysql操作界面后,输入如下指令:

mysql>stop slave;          //先停步slave服务线程,这个是很重要的,如果不这样做会造成以下操作不成功。

mysql>change master to

>master_host='59.151.15.36',master_user='replicate',master_password='123456',

> master_log_file=' mysql-bin.000016 ',master_log_pos=107;

注:master_log_file, master_log_pos由主服务器(Master)查出的状态值中确定。也就是刚刚叫注意的。master_log_file对应File, master_log_pos对应Position。Mysql 5.x以上版本已经不支持在配置文件中指定主服务器相关选项。


到的问题,如果按上面步骤之后还出现如下情况:


 则要重新设置slave。指令如下

mysql>stop slave;

mysql>reset slave;

之后停止slave线程重新开始。成功后,则可以开启slave线程了。

mysql>start slave;


        查看 slave 状态

    

查看下面两项值均为Yes,即表示设置从服务器成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

用如下指令进行查看

mysql> show slave status\G;


参考文章:https://www.cnblogs.com/fnlingnzb-learner/p/7000898.html

里面还有 主主热备的教程

  • 2020-02-20 18:35:21

    Vue加载组件、动态加载组件的几种方式

    组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展。

  • 2020-02-22 13:58:50

    深入理解 requestAnimationFrame

    在Web应用中,实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的API,那就是 requestAnimationFrame,顾名思义就是请求动画帧。 为了深入理解 requestAnimationFrame 背后的原理,我们首先需要了解一下与之相关的几个概念:

  • 2020-02-22 17:35:14

    使用tweenjs写一个发牌的demo

    移动端h5的三大抽奖方式:转盘,老虎机,翻纸牌。 前两样demo比较多,用户也审美疲劳了。这次微信公众号要抽奖,于是调研了下翻纸牌。

  • 2020-02-22 17:45:43

    tweenjs简单快速学习

    tweenjs 是使用 JavaScript 中的一个简单的补间动画库,支持数字、对象的属性和 CSS 样式属性的赋值。 tweenjs 以平滑的方式修改元素的属性值,需要传递给 tween 要修改的值、动画结束时的最终值和动画花费时间(duration),之后 tween 引擎就可以计算从开始动画点到结束动画点之间值,从而产生平滑的动画效果。

  • 2020-02-22 17:47:12

    easeJs入门学习教程

    createjs中包含以下四个部分: EaselJS:用于 Sprites、动画、向量和位图的绘制,创建 HTML5 Canvas 上的交互体验(包含多点触控) TweenJS:用于做动画效果 SoundJS:音频播放引擎 PreloadJS:网站资源预加载