mysql主从复制

Posted jeff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从复制相关的知识,希望对你有一定的参考价值。

一、安装mysql

  1、 sudo apt-get install mysql-server -y

  2、 安全设置:mysql_secure_installation,然后按两个N,三个Y。

二、设置两台主机的my.cnf

  1、 设置两台主机的my.cnf

    a、 主服务器:vim /etc/my.cnf,添加内容如下:

    [mysqld]

    log-bin=mysql-bin

    server-id=21                         //服务器唯一ID,默认是1,一般取ID最后一段

    b、 从服务器slave: vim /etc/my.cnf

    [mysqld]

    log-bin=mysql-bin

    server-id=22

  2、 重启服务:service mysql restart或 systemctl restart mariadb

三、在主服务器上建立帐户并授权slave

  1、 在防火墙中开放3306端口:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT,如是centos,此步可以省略。

  2、 使防火墙重启好仍然生效,安装软件: sudo apt-get install iptables-persistent,一直按yes即可。

  3、 允许root用户远程访问:

    mysql>use mysq;

    mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘redhat‘ WITH GRANT OPTION;

    mysql>flush privileges;

  重启服务:service msyql restart 或 systemctl restart mariadb

  4、 登录:mysql -uroot -predhat

  5、 建立帐户并授权slave: GRANT REPLICATION SLAVE ON *.* to ‘mysync‘@‘%‘ identified by ‘redhat‘;

  6、 使配置生效:flush privileges;

  7、 查看主服务器的mysql状态:show master status;   //完成此步后,暂不操作主服务器,记住此处的

四、配置从服务器

  1、 配置从服务器:

  mysql>change master to master_host=‘10.0.0.24‘,master_user=‘mysync‘,master_password=‘redhat‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=601;

  2、 mysql> start slave;

  3、 检查从服务器复制功能状态:

  mysql> show slave status\G

注:此处状态下的Slave_IO_Runing 和Slave_SQL_Running必须为YES。

五、测试结果

  1、 先在主服务器添加测试数据库

    a、 use mysql;

    b、 create database hi_db;

    c、  use hi_db;

    d、 create table hi_tb(id int(3),name char(10));

    e、 insert into hi_tb values(001, ‘jeff’);

    f、  show databases;

  2、 在从服务器查看结果:

    a、 mysql -uroot -p

    b、 use hi_db;

    c、  select * from hi_tb;

六、本章步骤参考自:http://369369.blog.51cto.com/319630/790921/

以上是关于mysql主从复制的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中主从复制不同步?

MySQL主从复制和读写分离

MySQL主从复制和读写分离

Linux----------mysql主从复制和基于GTID主从复制

MySQL主从复制

mysql主从复制概述以及配置mysql5.7.10实现简单主从复制