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

    mysql的主从配置


    1、主从简介


    在现代企业中,数据库显得尤为重要,而储存数据的数据库选择的五花八门,但任何数据库都存在着一种隐患。

    想几个问题:

    • 用一台服务器存放数据,若此数据库服务器出问题导致数据库丢失怎么办?
    • 业务量大了,数据多了,访问人多了,一台数据库无法保证服务器质量怎么办?

    1.1、主从作用

    • 实时灾备,用于故障切换
    • 读写分离,提供查询服务
    • 备份,避免影响业务

    1.2、主从形式

    • 一主多从
    • 主主复制
    • 一主多从
    • 多主一从
    • 联级复制

    2、主从复制原理

    主从复制步骤:

    • 主库将所有的写操作记录到binlog日志中并且生成一个log dumo线程,将binlog日志传给从数据库的I/O线程
    • 从数据库生成两个线程,一个SQL线程,一个I/O线程
      • I/O线程去请求主库的binlog,并且将得到的binlog日志写道reay log(中继日志)文件中
      • SQL线程会读取relay log文件日志中,并且解析具体操作,来实现组从一致。

    3、主从复制配置

    配置步骤:

    • 确保主从数据库数据一样
    • 在主数据库里面创建一个同步账号授权给从库
    • 配置主数据库(配置文件)
    • 配置从数据库(配置文件)

    准备两台数据库:

    数据库角色 IP 应用系统版本 有无数据
    主数据库 192.168.7.10 radhat7
    从数据库 192.168.7.11 radhat7

    数据库安装步骤省略。。。。。

    3.1、主从一致

    主服务器

    # mysqldump -uroot -p123 --all-databases > all.sql
    # scp all.sql root@192.168.7.11
    

    从服务器

    # ls
    all.sql
    # mysql -uroot -p123 < all.sql
    

    3.2、主数据库创建同步账号

    mysql> CREATE USER 'repl'@'192.168.7.11' IDENTIFIED BY 'repl123'
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.7.11';
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.7.11';
    

    3.3、修改主数据库配置文件

    # vim /etc/my.cnf
    [mysqld]
                     basedir = /usr/local/mysql
                     datadir = /opt/data
                     socket = /tmp/mysql.sock
                     port = 3306
                     pid-file = /opt/data/mysql.pid
                     user = mysql
                    symbolic-links=0
                    log-error=/var/log/mysqld.log
                    server-id=1
                    log-bin=mysql-bin
                    skip-name-resolve
    # service mysqld restart
    # mysql -uroot -p123
    mysql> show master status;		//数据库状态
    +------------------+----------+--------------+------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000002 |      154 |              |                  |                   |
    +------------------+----------+--------------+------------------+-------------------+
    1 row in set (0.00 sec)
    
    mysql> 
    
    

    3.4、配置从数据库

    # vim /etc/my.cnf 
     [mysqld] 
                     basedir = /usr/local/mysql 
                     datadir = /opt/data 
                     socket = /tmp/mysql.sock 
                     port = 3306 
                     pid-file = /opt/data/mysql.pid 
                     user = mysql 
    		server-id=2 
    		relay-log=mysql-relay-bin 
    		symbolic-links=0
    		log-error=/var/log/mysqld.log 
                    skip-name-resolve               
                   
    # service mysqld restart
    # mysqld -uroot -p123
    //配置启动从数据库
    mysql> CHANGE MASTER TO 
        -> MASTER_HOST='192.168.7.11';
         -> MASTER_USER='repl', 
        -> MASTER_PASSWORD='repl123',    
        -> MASTER_LOG_FILE='mysql-bin.000002',    
        -> MASTER_LOG_POS=154; 
     mysql> start slave; 
     mysql> show slave status G 
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 192.168.7.11
                      Master_User: lzj
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000002
              Read_Master_Log_Pos: 154
                   Relay_Log_File: mysql-relay-bin.000008
                    Relay_Log_Pos: 367
            Relay_Master_Log_File: mysql-bin.000002
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
    
    

    效果:

    主mysql

    从mysql

  • 相关阅读:
    插入与归并(python)(原创)
    同一环境下新建Standby RAC库
    配置Server Side TAF
    RAC禁用DRM特性
    Oracle获取数据库中的对象创建语句
    SQL Tuning 基础概述10
    Oracle数据块损坏的恢复实例
    Oracle的FIXED
    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
  • 原文地址:https://www.cnblogs.com/liuzhijun666/p/13170814.html
Copyright © 2011-2022 走看看