公司现需要迁移mariadb数据库,从一台机器迁移到另一台机器,总共5张表,每张表数据量都有几十到几百M,原数据库中的数据变化频繁,迁移的过程中服务不能停,且迁移之后要能随时切换到新的数据库,切换时必须保证两个数据库中的数据完全一致,即数据库迁移和切换的过程不能丢失用户数据。不知道有什么方式或者什么工具可以解决?

解决方案 »

  1.   

    主从复制* IP - 192.168.1.81 -- 主~~~txt
    [root@localhost ~]# vim /etc/my.cnf
    #[mysqld]
    #GTID
    server_id=81
    gtid_mode=on
    enforce_gtid_consistency=on
    #binlog
    log_bin=master-binlog
    log-slave-updates=1
    binlog_format=row
    #relay log
    skip_slave_start=1
    [root@localhost ~]# systemctl restart mysqld
    ~~~~~~txt
    mysql> use mysql;
    mysql> update user set host = '%' where user ='root';
    mysql> flush privileges;
    ~~~* IP - 192.168.1.82 -- 从~~~txt
    [root@localhost ~]# vim /etc/my.cnf
    #[mysqld]
    #GTID
    server_id=82
    gtid_mode=on
    enforce_gtid_consistency=on
    #binlog
    log-bin=slave-binlog
    log-slave-updates=1
    binlog_format=row      
    #relay log
    skip_slave_start=1
    [root@localhost ~]# systemctl restart mysqld;
    ~~~~~~txt
    mysql> use mysql;
    mysql> update user set host = '%' where user ='root';
    mysql> flush privileges;
    ~~~~~~txt
    [root@localhost ~]# mysql -u root -p
    mysql> CHANGE MASTER TO
             MASTER_HOST='192.168.1.81', 
             MASTER_USER='root',       
             MASTER_PASSWORD='123456',    
             MASTER_PORT=3306,    
             MASTER_AUTO_POSITION = 1;
    ~~~~~~txt
    mysql> start slave;
    ~~~~~~txt
    mysql> show slave status \G;
    ~~~
      

  2.   

    各位大神,有木有会在win10上安装mysql的,我安完后没有显示系统,再按还提示有冲突,请给我大神帮帮小弟,感谢楼主的贴
      

  3.   

    可以做备用库吗?就想oracle的主从库一样