您的位置:68399皇家赌场 > 虚拟主机 > Mysql 主备配置

Mysql 主备配置

发布时间:2019-06-22 14:30编辑:虚拟主机浏览(146)

     

    1. 新建授权用户

    MYSQL主备复制结构搭建

    1 选择四个服务器,分别作为主备数据库

    2 登入到服务器,

    yum install mysql ;

    yum install mysql-server;

    3 运行服务器

    service mysqld start

    4 分别root登录mysql 施行如下命令,扩大复制用户并授权(主备都在192.168.119.*网段,为了便利主备切换,两边都建设构造)

    GRANT REPLICATION SLAVE,REPLICATION CLIENT on *.* to [email protected]'192.168.119.%' identified by '1234';

    5 配置/etc/my.cnf

    第一服务器(主)

    log_bin=mysql_bin
    server_id=1

    第贰个服务器(备)

    log_bin=mysql_bin
    server_id=2
    read_only=1

    6 登陆主(root)执行

    show master statusG;

    显示

    File: mysql-bin.000001
    Position: 106

     

    登陆备(root) 执行

    测试 mysql -urepl -h192.168.119.128 -p1234 是或不是能接二连三到主库,不能够需求检讨防火墙或然/etc/my.cnf是或不是有访问限制,修改配置

    mysql -uroot登录本地库进行:

    CHANGE MASTER TO
    MASTER_HOST='192.168.119.128',
    MASTER_USER='repl',
    MASTER_PASSWORD='1234',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=106;

    start slave;

    show slave statusG;

    7,主库上创建表,备库上查看,能够见见

    备库上repl创建表,显示The MySQL server is running with the --read-only option so it cannot execute this statement

    因为安顿了备库为read_only

    1 选拔多少个服务器,分别作为主备数据库 2 登录到服务器, yum install mysql ; yum install mysql-server; 3 运转服务器 service...

    . master mysql 中期维修改/etc/my.cnf 在mysqld下加多如下两行: log-bin=/var/lib/mysql/mysql-bin.log server-id=1 #binlog-do-db=DB1 #binlog-do-db=DB2 #即使备份八个数据库,...

       #发送邮件到邮箱

    1. 启用slave数据库
    1. master mysql 中期维修改/etc/my.cnf 在mysqld下增添如下两行:
      log-bin=/var/lib/mysql/mysql-bin.log
      server-id=1
      #binlog-do-db=DB1
      #binlog-do-db=DB2     #比如备份多少个数据库,重复设置这么些选项就能够
      2.重启mysql,添加slave replication 用户
      GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY slave_password;
      FLUSH PRIVILEGES;
      FLUSH TABLES WITH READ LOCK;
      SHOW MASTER STATUS;
       
      ------------------ ---------- -------------- ------------------
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
      ------------------ ---------- -------------- ------------------
      | mysql-bin.000001 |      890 |              |                  |
      ------------------ ---------- -------------- ------------------
      1 row in set (0.00 sec)
      unlock tables;
      记下 file名和binlog的位置.
      4.在slave mysql上操作.
      编写制定从服务器的配置文件:/etc/my.cnf
      [mysqld]
      #sync data
      server-id=2            #小心无法重复
      master-host=192.168.100.10
      master-user=slave
      master-password=slave_password
      master-port=3306
      master-connect-retry=60
      #replicate-do-db=DB1
      #replicate-do-db=DB2
      5.重启slave mysql .
      stop slave;
      CHANGE MASTER TO MASTER_HOST=192.168.100.13, MASTER_USER=slave, MASTER_PASSWORD=slave_password, MASTER_LOG_FILE=mysql-bin.000001, MASTER_LOG_POS=890;
      start slave;
      5.在master mysql上开创数据库测试,从库是不是同步.可能show slave statusG 查看
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
      两个yes为同步.
      补充:
      在从服务器上使用show slave statusG
      Slave_IO_Running,为No,
          则说明IO_THREAD未有运营,请试行start slave io_thread
          Slave_SQL_Running为No
          则复制出错,查看Last_error字段排除错误后试行start slave sql_thread
          查看Slave_IO_State字段空 //复制未有运行
          Connecting to master//未有连接上master
          Waiting for master to send event//已经连上
          主服务器上的相关命令:
          show master status
          show slave hosts
          show logs
          show binlog events
          purge logs to log_name
          purge logs before date
      reset master(老版本flush master)
          set sql_log_bin=
          从服务器上的有关命令:
          slave start
          slave stop
          SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
          SLAVE start IO_THREAD
          SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
          SLAVE start SQL_THREAD
          reset slave
          SET GLOBAL SQL_SLAVE_SKIP_COUNTER
          load data from master
      show slave status(SUPER,REPLICATION CLIENT)
          CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWOLANDD= //动态更动master信息
          PURGE MASTER [before date] 删除master端已联名过的日记

    (mysql 5.5原先可以把MASTE本田CR-V_HOST这几个音讯写入配置文件,不推荐那样做,不便于维护)

    [mysqld]
    log_bin=mysql-bin
    server_id =1

    read_only=1

    CHANGE MASTER TO
    MASTER_HOST='192.168.15.31', 
    MASTER_USER='slaveuser', 
    MASTER_PASSWORD='HU@jiang', 
    MASTER_LOG_FILE='mysql-bin.000003',     # 通过 show master statusG; 确认MASTER_LOG_FILE 值
    MASTER_LOG_POS=0;                              #日记从哪个地方开头读

    start slave;    >>启用

    stop slave;     >>停用

    log_slave_updates=1

    1. 翻看同步战败错误日志。

    master-connect-retry=60

    1. 修改配置文件

    记录mysql主主配置

    show master statusG;

    图片 1

    show slave statusG

    图片 2

    Slave_IO_Running=Yes
    Slave_SQL_Running=Yes
    
    slave的I/O和SQL线程都已经开始运行,而且Seconds_Behind_Master不再是NULL。日志的位置增加了,意味着一些事件被获取并执行了。如果你在master上进行修改,你可以在slave上看到各种日志文件的位置的变化,同样,你也可以看到数据库中数据的变化。
    

    flush privileges;

    1. 打听主备配置进度原理。

    fi

    1.明确日志路线。

    auto-increment-offset = 1(id自增设置,再别的多个mysql 设置为2)

    [mysqld]
    log_bin=mysql-bin
    server_id =2
    relay_log=mysql-relay-bin
    log_slave_updates=1
    read_only=1

    3.改变my.cnf配置文件,配置mysql replication

    Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running是No评释slave还不曾起先复制进程。

    日记的地点为4而不是0,那是因为0只是日记文件的开始地方,并不是日记地点。实际上,MySQL知道的首先个事件的职位是4。

    show databases;

    use tables;

     

    1. 翻开slave运行处境: 确认

    本文由68399皇家赌场发布于虚拟主机,转载请注明出处:Mysql 主备配置

    关键词: 68399皇家赌场

上一篇:消除mysql字符集乱码的标题

下一篇:没有了