• mysql5.6主从复制


    首先创建一个给从服务器的用户

    GRANT REPLICATION SLAVE ON *.* to '从服务器用户帐号'@'从服务器地址' identified by ‘从服务器用户密码’;

    然后给这个从服务器用户处理数据库的权限

    grant all privileges to 数据库名.* to '从服务器用户帐号'@'从服务器地址' identified by ‘从服务器用户密码’;

    要多少个数据库就重复写多少次

    接下来配置主服务器

    修改 master 的my.cnf配置文件,在[mysqld]下添加如下配置:

    [mysqld]

    log-bin=/usr/local/mysql56/binlog/master-bin

    log-bin-index=/usr/local/mysql56/binlog/master-bin.index

    binlog-do-db=要同步的数据库(多个换行重写)

    server-id=1

    说明:

    log-bin 配置的是开启二进制日志,并将日志写在配置的路径上。记录的日志将以master-bin.000001 的方式进行记录。

    log-bin-index 配置的是二进制日志记录文件的目录。该文件中每一行都是二进制日志文件的路径。

    server-id是该MySQL服务器的服务ID,用于区分在主从配置中的其他服务器。

    配置成功后,重启mysqld服务。

    注意:如果不定义log-bin的文件名,则会以hostname主机名命名,一旦主机名修改,则会因为找不见二进制文件报错。所以最好还是显示指定文件名。

    修改 slave 的my.cnf配置文件,在[mysqld]下添加如下配置:

    server-id=11

    relay-log=/usr/local/mysql56/binlog/slave-relay-bin

    relay-log-index=/usr/local/mysql56/binlog/slave-relay-bin.index

    replicate-do-db=需要复制的数据库(多个换行重写)

    server-id和master意义一样,用于区分不同的mysql服务器。

    relay-log用以记录收到的中继二进制日志。relay-log-index用以保存收到的日志路径索引。如果不显示指定文件名,则以hostname值命名。

    保存后可以重启mysqld服务。

    在主数据库输入show master status,记下file和position的值,这个在从数据库连接的时候要用

    在从数据库输入

    stop slave;

    reset slave all;

    change master to master_host=’主数据库ip’, master_user=’从服务器用户帐号’, master_password=’从服务器用户密码’, master_port=主数据库端口, master_log_file=‘主数据库的file’, master_log_pos=主数据库的position;

    然后 start slave;

    之后show slave status G;

    在打印出来的状态下,查看以下两个参数的值:

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    如果这两个参数的值都是yes,则运行正常


    不过这个发现主数据库重启之后,就会把file更新,这样主从复制就断了,不知道怎么解决

  • 相关阅读:
    自增自减
    字符串处理函数
    指针总结指向const的指针、const指针、指向const指针的const指针
    Jenkins基础篇 系列之-—04 节点配置
    soapUI系列之—-07 调用JIRA Rest API接口【例】
    测试人员转正考核方向
    linux系列之-—03 常见问题
    Jenkins基础篇 系列之-—03 配置用户和权限控制
    linux系列之-—01 shell编程笔记
    Jenkins基础篇 系列之-—02 修改Jenkins用户的密码
  • 原文地址:https://www.cnblogs.com/php48/p/7512905.html
Copyright © 2020-2023  润新知