美文网首页
MySQL-主从配置

MySQL-主从配置

作者: 苏近之2017 | 来源:发表于2017-06-06 16:38 被阅读0次

    虚拟机安装 CentOS

    这里要安装 CentOS 虚拟机最小化安装。

    详细步骤:略。

    安装完之后,配置网络,参考文档:

    [VMWare 安装 CentOS7 后虚拟网络配置]

    CentOS 上安装 MySQL

    参考文档:

    [CentOS7 安装 MySQL 5.7]

    配置主从

    克隆一台虚拟机

    由于是本地测试,所以选择链接克隆即可,节省时间和物理时间。

    配置IP

    将两台虚拟的静态IP配置在同一网段下,不同IP,例如:192.168.95.150 和 192.168.95.151。

    最好在设置一下主机名,以便识别:

    hostnamectl set-hostname [主机名]
    

    配置 Master 主服务器

    开启二进制日志状态:

    image

    重启 MySQL:

    service mysqld restart
    

    查看二进制日志开启状态:

    image

    创建用户:

    image

    给用户授权:

    image

    查看 Master 状态:

    image

    配置 Slave 从服务器

    编辑 /etc/my.cnf,添加server-id:

    image

    连接 Master 主服务器:

    image

    指定主库的地址、用户名以及密码,还可以指定端口MASTER_POST,更多参数参考 MYSQL文档。

    MASTER_LOG_FILE以及MASTER_LOG_POS这两个参数指的是主库的日志文件以及文件位置,参照主库的状态命令:

    SHOW MASTER MASTER;
    

    启动 Slave 从服务器:

    start slave;
    
    image

    查看从服务器状态:

    show slave status \G;
    
    image

    测试

    在主库中新建一个数据库,然后在从库中查看:

    // Master 新建数据库
    CREATE DATABSES test;
    // SLAVE 查看数据库
    SHOW DATABASES;
    

    如果一致,则配置成功。

    如果不一致,则可以参考下方的错误提示。

    错误提示

    UUID 重复

    我使用了虚拟机的克隆功能,所以导致了主库和从库的UUID重复的问题。

    查看UUID:

    SHOW VARIABLES LIKE 'server_uuid';
    

    这种问题在真实环境下应该是不存在的,除非文件完全拷贝。

    官方文档上说,这个 uuid 是只读的,不建议修改。

    如果一定要修改,可以查找auto.cnf文件,然后修改它。

    image

    修改之后,重启 MySQL。

    主从配置成功的前提是:server_id 以及 server_uuid 必须不同。

    1236 错误

    查看日志可以得到以下这般的描述:

    Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'。

    其他同学遇到的问题,意外重启或误删文件引起的。这里要注意,我们在配置的过程中。

    解决的思路如下:

    1. 重启主库

    2. 给从库重新授权

    3. 在从库执行以下命令

       slave stop; 
       reset slave; 
       slave start;
      

    相关文章

      网友评论

          本文标题:MySQL-主从配置

          本文链接:https://www.haomeiwen.com/subject/tsfnfxtx.html