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表示已同步


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

  • 相关阅读:
    oracle当需要commit
    Win7 扩容磁盘分区
    MP3的频率、比特率、码率与音质的关系
    关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    Java串口通信具体解释
    android 计时器,倒计时
    联想A208T ROOT
    三层架构(我的理解及具体分析)
    Java实现BASE64编解码
  • 原文地址:https://www.cnblogs.com/menkeyi/p/8628773.html
Copyright © 2011-2022 走看看