美文网首页MySQL
MySql / MariaDB 构建主从复制

MySql / MariaDB 构建主从复制

作者: 我_bacd | 来源:发表于2019-02-01 18:45 被阅读40次

~~ !!!环境介绍:

  • 主服务器 -> ip:192.168.0.104、系统:centos7、数据库:mariadb
  • 从服务器 -> ip:192.168.0.105、系统:centos7、数据库:mariadb
  • 从服务器 -> ip:192.168.0.106、系统:centos7、数据库:mariadb

~~ !!!请保证主服务器防火墙关闭,下面开始构建主从复制

一、配置主机 192.168.0.104

1、修改主服务器下 /etc/my.cnf 文件,在 [mysqld] 下添加如下代码,可参考下图:

// 如果不知道 my.cnf 文件在哪,可使用 find / -name my.cnf 命令查找
// 这里 server-id 中的 104 是本机ip的尾号,可随意设置数字,但要保证不重复
server-id = 104
log-bin = master-bin
log-bin-index = master-bin.index

2、启动 / 重启 数据库服务,可参考以下命令

// mariadb 启动数据库 ↓
service mariadb start
// mariadb 重启数据库 ↓
service mariadb restart

// mysql5.0 启动数据库 ↓
service mysqld start
// mysql5.0 重启数据库 ↓
service mysqld restart

// mysql5.5.7 启动数据库 ↓
service mysql start
// mysql5.5.7 重启数据库 ↓
service mysql restart

3、在主服务器数据库中创建一个用户:admin_x,密码:123456

// 这里的 @localhost 是限制用户只能在 固定的地址 localhost 登入,可根据个人需求修改
create user admin_x@localhost identified by '123456';

4、在主机中查看创建的用户,结果如下图:

// 在 数据库:mysql,表:user下查看用户 ↓
select host, user, password from mysql.user;

5、在主机中依次为从机分配权限,并刷新权限表:

// 为从机 192.168.0.105分配权限
grant replication slave on *.* to 'admin_x'@'192.168.0.105' identified by '123456';
// 为从机 192.168.0.106分配权限
grant replication slave on *.* to 'admin_x'@'192.168.0.106' identified by '123456';
// 刷新权限表
flush privileges;

6、查看主机二进制日志文件名与位置

// 查看主机二进制日志文件名与位置
show master status;

二、配置从机 192.168.0.105

1、修改 my.cnf 文件,在[mysqld] 下添加以下代码:

// 这里 server-id 中的 105 是本机ip的尾号,可随意设置数字,但要保证不重复
server-id = 105
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index

2、启动 / 重启 并 进入数据库,设置连接

// 告诉从服务器 用哪个账号、用哪个密码、在哪里 读主服务器的日志文件
CHANGE MASTER TO
    MASTER_HOST = '192.168.0.104',
    MASTER_USER = 'admin_x',
    MASTER_PASSWORD = '123456',
    MASTER_LOG_FILE = 'master-bin.000004',
    MASTER_LOG_POS = 745;

3、启动从服务,并查看状态,确保服务启动

// 启动从服务器
start slave
// 查看从机状态,如下图
show slave status \G;

三、配置从机 192.168.0.106(基本重复第二大步骤)

1、修改 my.cnf 文件,在[mysqld] 下添加以下代码:

// 这里 server-id 中的 106 是本机ip的尾号,可随意设置数字,但要保证不重复
server-id = 106
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index

2、启动 / 重启 并 进入数据库,设置连接

// 告诉从服务器 用哪个账号、用哪个密码、在哪里 读主服务器的日志文件
CHANGE MASTER TO
    MASTER_HOST = '192.168.0.104',
    MASTER_USER = 'admin_x',
    MASTER_PASSWORD = '123456',
    MASTER_LOG_FILE = 'master-bin.000004',
    MASTER_LOG_POS = 745;

3、启动从服务,并查看状态

// 启动从服务器
start slave
// 查看从机状态,如下图
show slave status \G;

四、测试主从复制

1、在主服务器 192.168.0.104 中创建一个新的数据库,并查看数据库列表

create database if not exists test_x default charset utf8 collate utf8_general_ci;
// 显示主机数据库列表
show databases;

2、在从机 192.168.0.105 中查看是否有新数据库

// 显示从机数据库列表
show databases;

3、在从机 192.168.0.106 中查看是否有新数据库

// 显示从机数据库列表
show databases;

~~ !!! 配置完成

相关文章

  • MySql / MariaDB 构建主从复制

    ~~ !!!环境介绍: 主服务器 -> ip:192.168.0.104、系统:centos7、数据库:maria...

  • Docker Swarm 部署Mysql/Mariadb高可用主

    本文为转载,原文:Docker Swarm 部署Mysql/Mariadb高可用主从复制集群 1. MariaDB...

  • mysql主从复制

    构建MySQL主从复制 MySQL的主从复制和mysql的读写分离两者有着紧密联系,数据的读写分离实在主从复制的基...

  • MySQL集群篇

    1 集群之主从复制 1.1 主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群...

  • 使用Docker快速搭建Mariadb主从复制环境

    参考:MariaDB/Mysql的主从复制部署(Docker)食用方法在结尾 1. docker-compose....

  • mysql(mariadb)数据库主备同步

    笔者搭建mysql(mariadb)主从复制服务,测试主备同步正常。 主机master是windows 7 系统,...

  • 十九、02-搭建mysql服务器,并实现主从复制

    搭建mysql服务器,并实现主从复制 1、环境配置 2、安装mariadb-server 3、node01修改配置...

  • Mysql主从复制

    一、主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群架构的基础。它通过将一台...

  • MySQL之:复制加密

    基于 SSL 复制 在默认的主从复制过程或远程连接到 MySQL/MariaDB所有的链接通信中的数据都是文明的,...

  • Mysql (7)

    Mysql 的主从复制 1 复制概述Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分...

网友评论

    本文标题:MySql / MariaDB 构建主从复制

    本文链接:https://www.haomeiwen.com/subject/tmhcsqtx.html