欢迎投稿

今日深度:

MySQL与MariaDB的主从数据复制设置步骤,mysqlmariadb

MySQL与MariaDB的主从数据复制设置步骤,mysqlmariadb


前提条件:

1、主数据库是使用CentOS7.0操作系统,安装了MariaDB数据库(安装数据库请参考 http://blog.csdn.net/mfkfkulkwxf/article/details/51686121)

2、从数据库是使用Windows10操作系统,安装了MySQL数据库(Windows下的数据库安装请自行上网搜索)


主从数据库设置步骤如下:


1、设置主数据库的配置文件:

    在/etc/my.cnf文件中,加上

    server-id=1 #数据库的唯一ID号,默认以1开始
    log-bin=mysql-bin #启用二进制日志

 配置后的结果如下图中的红色框:

 

2、在主数据库建立账户并授权从数据库访问:

 在命令行中录入 grant replication slave on *.* to 'root'@'%' identified by '12345678'; 如下图

 

 在这里需要注意以下几点:

 1)我是使用root用户进行测试,在生产环境中是不建议使用的,必须自己重新创建一个新用户进行登录,

 2) %表示允许所有的IP访问,可以自己设置只允许哪些IP访问,如把%替换为192.168.1.3表示只允许这个IP访问

3、重新启动MariaDB数据库

 在命令行录入 systemctl restart mariadb ,如下图:

 

4、检查主数据库的master状态:

 在命令行录入 show master status; 如下图:

 

 请记下File与Position的数据,为从数据库作准备.

5、设置从数据库的配置文件:

 打开my.ini配置文件(如不知道配置文件位置,请自行上网查找),添加以下两句:

 log-bin=mysql-bin

 server-id=2

 效果如下图:

 

6、重启从数据库

7、使用从数据库命令行方式配置:

 打开命令行,并登录到从数据库的MySQL.

 录入以下命令 change master to master_host='192.168.137.101',master_user='root',master_password='12345678',master_log_file='mysql-bin.000001',master_log_pos=245; 效果如下图:


 请注意以下几点:

 1)master_host是指主服务器的IP

 2)master_user是指使用哪个用户登录主服务器

 3)master_password是指登录密码

 4)master_log_file是指在第4个步骤中的File名称

 5)master_log_pos是指在第4个步骤中的Position

8、启用从数据库复制功能(这个步骤是在从数据库的MySQL中配置)

 在命令行中录入  start slave;

9、查看从数据库的复制功能状态

 在命令中录入 show slave status\G; 结果显示如下:

 *************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.137.101  #主数据库地址
                  Master_User: root    #使用哪个用户登录
                  Master_Port: 3306    #连接端口
                Connect_Retry: 60     
              Master_Log_File: mysql-bin.000001  
          Read_Master_Log_Pos: 245  #同步读取二进制日志的位置,必须大于或等于下面的Exec_Master_Log_Pos数据
               Relay_Log_File: PC201501300933-relay-bin.000002
                Relay_Log_Pos: 391
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes #必须为Yes,否则需要查找原因
            Slave_SQL_Running: Yes #必须为Yes,否则需要查找原因
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 245
              Relay_Log_Space: 556
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
1 row in set (0.00 sec)

10、然后在主数据库中创建数据库、表、插入/删除/更新数据等操作,在从数据库中查看相关的变化。请一定要关闭防火墙,否则导致数据复制不成功。


附:在查看其他的文章中,有关于其他从数据库的配置,如下:

在从服务器数据库配置文件:
server-id        = 2  
master-host      =  192.168.137.101  
master-user      =  root
master-password  =  12345678    
replicate-do-db  =  test_master_slave #指定只允许某个数据库复制功能
master-port      =  3306
log-bin          = mysql-bin

如果是使用以上的配置,则在我写的第5个步骤中不执行我写的内容,而是执行以上的配置;并且也不执行第7个步骤。

 

www.htsjk.Com true http://www.htsjk.com/mariadb/26993.html NewsArticle MySQL与MariaDB的主从数据复制设置步骤,mysqlmariadb 前提条件: 1、主数据库是使用CentOS7.0操作系统,安装了MariaDB数据库(安装数据库请参考 http://blog.csdn.net/mfkfkulkwxf/article/details/51686121) 2、...
相关文章
    暂无相关文章
评论暂时关闭