美文网首页
Mysql主从设置

Mysql主从设置

作者: 00天火00 | 来源:发表于2017-03-16 21:12 被阅读0次

    我的博客

    说明

    两台linux服务器进行主从实验
    mysql:mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
    主(写):192.168.198.221
    从(读):192.168.198.222
    需要mysql初始环境一样

    原理:

    1. 主服务器建立2进制日志,每产生语句或磁盘变化,写进日志
    1. 从服务器监听主服务器建立relaylog(中继日志)
    2. 主服务器建立授权复制账号,从服务器利用复制账号来监听主服务器的日志notice:
      所有的mysql服务器都有1个独一无二的id server_id

    主从设置

    第一步,编辑my.cnf

    vi /etc/my.cnf
    

    主master:

    log-bin=mysql-bin  #写二进制日志 
    binlog-format=mixed
    server-id=221   #同一局域网内一般为ip的后3位
    

    从slave:

    relay-log=mysql-relay
    server-id=222       #同一局域网内一般为ip的后3位
    

    第二步:重启 主,从mysql服务

    sudo service mysqld restart                   #重启
    

    第三步:

    主: 创建账号:repl 密码:!QAZ2wsx

    mysql -uroot -p              #进入mysql
    grant replication client,replication slave on *.* to 'repl'@'%' identified by '!QAZ2wsx;    #创建账号
    show master status;          #查看当前master二日志进制状态
    

    从: 抄主服务器日志,主服务器的日志位置,如上图
    #进入mysql
    mysql -uroot -p     
    #抄主服务器日志
    change master to 
    master_host='192.168.198.221',
    master_user='repl',
    master_password='!QAZ2wsx', 
    master_log_file='mysql-bin.000001',
    master_log_pos=457;
    
    show  slave status \G   #查看从机slave状态
    #如果状态不是配置的机器可以重置  重新执行抄主服务器的代码
    reset slave   #重置  
    

    启动slave

    start slave;       #启动slave
    show slave status \G   #再次查看从机slave状态
    

    测试

    主:插入测试数据

    -- 创建数据库--
    CREATE DATABASE test;
    -- 进入数据库--
    use test;
    -- 创建表--
    CREATE TABLE `test` (
     `id` INT NOT NULL,
     `test` VARCHAR (255) NULL,
     PRIMARY KEY (`id`)
    );
    -- 插入数据--
    INSERT INTO `test`.`test` (`id`, `test`) VALUES ('1', '1');
    

    主:查看数据
    SELECT * FROM `test`;
    

    从:查看数据
    -- 进入test数据库 --
    use test;
    -- 查看数据-- 
    SELECT * FROM `test`;
    

    相关文章

      网友评论

          本文标题:Mysql主从设置

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