mysql主从配置

来源:互联网 发布:热力学软件的共同点 编辑:程序博客网 时间:2024/06/05 01:15
  • 主数据库开启binlog

    修改my.ini或my.cnf文件,开启binlog日志文件,修改如下:
    log-bin=mysql-bin-log
    binlog-do-db=db_name – 数据库变更记录到binlog
    binlog-ignore-db=db_name – 数据库变更不记录到binlog
    在mysql的datadir设置的路径下可以看到mysql-bin-log.xxxxxx文件,这个文件就是binlog文件,里面存储的是数据库的变更,通过show binlog events in ‘mysql-bin-log.xxxxxx’命令可以查看数据库变更详情。

  • 配置主从服务器server-id

    依次修改主从数据库的my.ini或my.cnf文件,修改如下
    主数据库:
    server-id=222 – 主数据库取其所在的主机ip的末端
    从数据库
    server-id=226 – 从数据库取其所在的主机ip的末端

  • 开启从数据库的中继日志

    修改从数据库的my.ini或my.cnf文件,修改如下
    relay-log=slave-relay-log
    在从数据库的datadir路径下可以看到slave-relay-log.xxxxxx文件

  • 授权slave连接master的用户名和密码

    在主数据库下执行如下命令:
    GRANT REPLICATION SLAVE ON . to ‘slave’@’%’ identified by ‘123456’;
    slave是用户名,123456是密码,@后面跟允许同步数据库的主机,%代表不限制(196.168.1.%亦可),只要用户名和密码匹配即可。

  • 配置从数据库的master信息:

    change master to master_host=’127.0.0.1’,
    master_port=3306,
    master_user=’slave’,
    master_password=’123456’,
    master_log_file=’mysql-bin-log.000004’, – 从master的哪个binlog文件开始复制
    master_log_pos=0; – 从哪个pos点开始复制
    其中master-log-file 以及 master-log-pos 一般是在master上次的数据库拷贝到从库的时刻在主库上执行show master status得到此刻的master-log-file和master-log-pos;

  • 启动主库和从库

  • 在从数据库上执行stop slave start slave来启动或者关闭数据备份任务,(从库上修改master信息时需要stop slave ,修改后在start slave)

  • 从库当前状态,包括同步的主库ip,用户名,密码,同步任务线程的状态

    show slave status
    slave-io-state 为空通常是stop slave导致的,执行start slave可以看到状态变为Waiting for master to send event。
    slave-io-running和slave-sql-running均为YES代表从库同步任务正常,其中任何一个异常都是无法正常同步的,可以在从库的datadir指定的路径下查看${host}.err文件,查看错误原因。

0 0
原创粉丝点击