zoukankan      html  css  js  c++  java
  • mysql主从同步

    1.实验环境:

    2台centos7.2系统,ip分别为192.168.2.40 192.168.2.41
    防火墙和selinux均关闭 同步时间

    2.实验步骤:
    192.168.2.40上操作:

    [root@mysql-master ~]# yum -y install mariadb mariadb-server
    [root@mysql-master ~]# vi /etc/my.cnf 添加下面内容:
    [mysqld]
    log-bin=mysql-bin
    server-id=1

    启动服务:
    [root@mysql-master ~]# systemctl start mariadb

    更改数据库密码:
    [root@mysql-master ~]# mysql_secure_installation

    进入数据库:
    [root@mysql-master ~]# mysql -uroot -p

    增加一个账号专门用于同步:
    MariaDB [(none)]> grant replication slave on *.* to 'backup'@'192.168.2.41' identified by 'backup'; flush privileges;

    显示master状态:
    MariaDB [(none)]> show master status;
    +------------------+----------+--------------+------------------+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 | 1703 | | |
    +------------------+----------+--------------+------------------+
    记录下File和Position然后在41上面设置从40同步


    192.168.2.41上操作:
    [root@mysql-agent ~]# yum -y install mariadb mariadb-server
    [root@mysql-agent ~]# vi /etc/my.cnf 添加下面内容:
    [mysqld]
    log-bin=mysql-bin
    server-id=10 (此处要设置的跟40不同)

    启动服务:
    [root@mysql-master ~]# systemctl start mariadb

    更改数据库密码:
    [root@mysql-master ~]# mysql_secure_installation

    进入数据库:
    [root@mysql-master ~]# mysql -uroot -p

    执行:
    MariaDB [(none)]> change master to master_host='192.168.2.41',master_user='backup',master_password='backup',master_log_file='mysqlbin.000003',master_log_pos=1703;
    注意:1703对应上面在40上面记下的Position,mysql-bin.000003对应40上面记录的File

    启动复制线程:
    MariaDB [(none)]> START SLAVE;

    执行成功后,输入命令显示从库状态:
    MariaDB [(none)]> show slave status G;
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    上面的两行均为yes表示已同步

    增加一个账号专门用于同步:
    MariaDB [(none)]> grant replication slave on *.* to 'backup'@'192.168.2.40' identified by 'backup'; flush privileges;

    显示41做为主库时的状态:
    MariaDB [(none)]> show master status;
    +------------------+----------+--------------+------------------+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 | 1703 | | |
    +------------------+----------+--------------+------------------+


    192.168.2.40数据库上操作:

    MariaDB [(none)]> change master to master_host='192.168.2.41',master_user='backup',master_password='backup',master_log_file='mysql-bin.000003',master_log_pos=1703;

    MariaDB [(none)]> START SLAVE;

    MariaDB [(none)]> show slave status G;
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    上面的两行均为yes表示已同步


    验证:分别在两台数据库里建库、建表,看看另一台是否会自动生成。

  • 相关阅读:
    Springmvc+Easyui 搜索,新增,删除,修改
    重炉后-文件上传下载
    文件下载
    easyui-dialog里面的东西
    Mysql多表查询
    spring框架-spring.xml配置文件
    面向对象15.3String类-常见功能-判断
    面向对象15.3String类-常见功能-转换
    面向对象15.3String类-常见功能-获取-2
    面向对象15.3String类-常见功能-获取-1
  • 原文地址:https://www.cnblogs.com/menkeyi/p/8628773.html
Copyright © 2011-2022 走看看