数据库主从复制(1)

                                                              MariaDB的主从复制实践


主服务器:192.168.25.7

从服务器:192.168.25.77


实现主从复制应该注意的要点:

    主节点:

        (1)启动二进制日志

        (2)当前节点一个全局的ID号

        (3)创建有复制权限的用户账号


    从节点:

        (1)启动二进制日志

        (2)当前节点一个全局的ID号

        (3)使用有复制权限的用户账号链接主服务器,并启动复制线程


        一、主服务器:192.168.25.7

        1.设置数据库的配置

            vim  /etc/my.cnf

        log-bin=master-bin

        server-id=1

        innodb_file_per_table=ON

        skip_name_resolve=ON


        2.启动数据库:systemctl start mariadb

        3.登录 MySQL

        MariaDB [(none)]> show global variables like '%log%';   #查看 log_bin  是否为  ON


show global variables like '%log%';


    MariaDB [(none)]> show global variables like '%server%';  #当前节点一个全局的ID号


 show global variables like '%server%';

    MariaDB [(none)]> show master logs;  #查看启动的二进制日志

查看启动的二进制日志

        4.创建有复制权限的用户账号

        MariaDB [(none)]> grant replication slave ,replication client on *.* to 'repluser'@'192.168.25.%' identified by'replpass';

Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)


解释:

grant replication slave ,replication client   #创建用户账号:replication slave ,replication client

on *.* 复制所有库,*.* 代表表示所有库,如果是指定库则写库名

to 'repluser ' 用来复制的 用户

@'192.168.25.%'  那些主机

identified by'replpass';  定义密码为replpass

flush privileges; 提交

最后查看防火墙是否阻断3306端口



二、从服务器:192.168.25.77


1.设置数据库的配置

vim  /etc/my.cnf

replay-log=replay-log  #启动中继日志

server-id=7    #前节从节点一个全局的ID号

innodb_file_per_table=ON  

skip_name_resolve=ON

2.启动数据库:systemctl start mariadb

3.登录 MySQL

MariaDB [mydb]> show global variables like '%log%';   #查看中继日志是否打开


查看中继日志是否打开

MariaDB [mydb]>show global variables like '%server%'  查看server-ID是否和配置文件一样是7

4.使用有复制权限的用户账号链接主服务器,并启动复制线程

MariaDB [mydb]> change master to MASTER_HOST='192.168.25.7',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='master-bin.000003',MASTER_LOG_POS=498;

解释:

change master to   切换主节点

MASTER_HOST='192.168.25.7',  主节点主机名

MASTER_USER='repluser',    主节点那个有复制权限

MASTER_PASSWORD='replpass',  复制者的密码是什么

MASTER_LOG_FILE='master-bin.000003',  从主节点的那个二进制文件开始复制

MASTER_LOG_POS=498;    从主节点的二进制文件那个位置开始复制  

注意:二进制文件的复制可以是最新的日志,位置可以用: show master logs;  #查看启动的二进制日志的最新位置

查看启动的二进制日志

5.查看状态:MariaDB [(none)]> show slave status\G; 

查看状态

6.打开复制线程

MariaDB [mydb]> show tables;

7.再次查看状态:MariaDB [(none)]> show slave status\G;



三、实验

在主服务器创建一个数据库:

创建数据库

从服务器:

从服务器

主服务器:二进制日志的位置:


主服务器:二进制日志的位置:

从服务器:二进制日志的位置:

从服务器:二进制日志的位置:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容