zoukankan      html  css  js  c++  java
  • mysql 主从配置(master/slave)

    1、  在每台服务器上创建复制账号(也可以只在master上创建用户,这里配置两个是为了方便以后切换)

    备库运行的I/O县城需要建立一个到主库的TCP/IP连接,所以必须在主库创建一个用户,并赋予合适的权限。备库I/O线程以该用户名连接到主库并读取起二进制日志。

    创建用户语句

    GRANT REPLICATION SLAVE, REPLICATION CLIENTON *.*

    TO repl@’192.168.0.%’IDENTIFIED BY ‘password’;

    在主库和备库都创建该账号。

    2、  配置主库和备库

    配置主库

    在主库上打开二进制日志,并指定一个唯一的服务器ID,在主库的my.cnf文件中增加或修改如下内容:

    log_bin = MySQL-bin

    server_id = 10

    重启mysql

    确认二进制日志文件是否已经在主库创建,使用命令:SHOW MASTER STATUS。

    输出如下,证明成功

    FILE  POSITION          BINLOG_DO_DB      BINLOG_IGNORE_DB

    mysql-bin.000001

    配置备库

    修改my.cnf(只有server_id是必须的,其他可以采用默认)

    log_bin = mysql-bin

    server_id = 2

    relay_log =/var/lib/mysql/mysql-relay-bin(配置中继日志目录)

    log_slave_updates = 1

    read_only-=1

    重启服务(不要在my.cnf中配置master_port或master_host)

    3、  启动复制--通知备库连接到主库并从主库复制数据

    这里是告诉备库如何连接到主库,并重放其二进制日志。这里不需要修改my.cnf,而是使用 CHANGE MASTER TO 语句,该语句替代了my.cnf的设置,并且使得以后指向别的主库时无需重启备库。下面是开始复制的基本命令

    mysql> CHANGE MASTER TO MASTER_HOST=’MASTERSERVER_IP’,

    ->MASTER_USER=’REPL’,

    ->MASTER_PASSWORD=’P4SSWORD’,

    ->MASTER_LOG_FILE=’MYSQL-BIN.00001’,

    ->MASTER_LOG_POS=0;

    可以通过SHOW SLAVE STATUS;

    查看CHANGE MASTER 是否成功;

    运行下面的命令开始复制:

    mysql>START SLAVE;

    同样可以通过  SHOW SLAVE STATUS;检查执行状态;

    *Slave_io_Running,Slave_sql_Running这两个线程一定要为YES

    前者是读取中继日志的线程,后者是执行中继日志的线程。

    通过如下命令,可以分别查看主库和备库的线程状态

    mysql>SHOW PROCESSLISTG

    主库上有一个备库发起的连接线程,备库有两个相关线程,一个是I/O线程,一个是SQL线程

  • 相关阅读:
    004_列表list操作
    003_字符串str的操作
    002_python基础语录
    求哈夫曼树的编码
    Python笔记(一)——打印输出
    python基础一 day33 验证客户端的合法性
    python基础一 day32 复习
    python基础一 day30 网络编程
    python基础一 day29 logging
    python基础一 day29 学习方法(课前谈心)
  • 原文地址:https://www.cnblogs.com/fiyxiang/p/7309284.html
Copyright © 2011-2022 走看看