MYSQL5.6.33数据库主从(Master/Slave)同步安装与配置详解(Master-Linux Slave-windows7)

以下是详细讲解“MYSQL5.6.33数据库主从(Master/Slave)同步安装与配置详解(Master-Linux Slave-windows7)”的完整攻略。

概述

MySQL主从复制是一种基于二进制日志的复制方式,通过主库将产生的二进制日志传输到从库,在从库上重新执行来实现数据同步。这种方式可以减轻主库的负担并提高可用性。

环境要求

  • MySQL5.6.33主库(Linux)
  • MySQL5.6.33从库(Windows7)

步骤

主库配置

  1. 修改my.cnf配置文件,使二进制日志文件名称以及日志格式满足主从复制要求
# example.cnf
server-id=1
log-bin=master-bin
binlog-format=row
  1. 创建主库复制账户并授权
mysql> CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
mysql> flush privileges;
  1. 查看主库状态,记录File和Position等信息
mysql> SHOW MASTER STATUS;

从库配置

  1. 修改my.ini配置文件,使其满足主从复制要求
# example.ini
server-id=2
relay-log=slave-relay-bin
log-bin=slave-bin
binlog-format=row
  1. 配置从库同步主库
mysql> CHANGE MASTER TO 
       MASTER_HOST='192.168.1.1', 
       MASTER_USER='slave', MASTER_PASSWORD='slave',
       MASTER_LOG_FILE='master-bin.000001',
       MASTER_LOG_POS=4;
  1. 启动从库复制
mysql> START SLAVE;
  1. 查看从库状态
mysql> SHOW SLAVE STATUS\G

示例说明

示例一:主库端创建用户名为test的表并添加一条记录,从库自动同步

  1. 在主库创建test表,并添加一条记录
CREATE DATABASE db_test;
USE db_test;
CREATE TABLE test (id INT, col1 VARCHAR(20));
INSERT INTO test VALUES (1, 'test_record_1');
  1. 查看主库状态信息,记录File和Position
SHOW MASTER STATUS;
  1. 在从库查看数据库信息
SHOW DATABASES;

可以发现db_test没有同步到从库

  1. 在从库启动复制
START SLAVE;
  1. 在从库查看状态信息,确保复制正常
SHOW SLAVE STATUS\G
  1. 在主库添加一条记录
INSERT INTO test VALUES (2, 'test_record_2');
  1. 在从库查看测试表内容
USE db_test;
SELECT * FROM test;

可以看到,test记录已经被同步到从库

示例二:删除子表,主库从库均能同步删除操作

  1. 为了测试方便,我们在主库中创建一个有子表的表,然后在从库中查看子表是否已经被同步
CREATE TABLE test2 (id INT, col1 VARCHAR(20));
CREATE TABLE test2_sub (id INT, col1 VARCHAR(20));
INSERT INTO test2 VALUES (1, 'test_record_1');
SELECT * FROM test2_sub;
  1. 在从库查看子表,确保已经同步
USE db_test;
SHOW TABLES;
  1. 在主库删除子表
DROP TABLE test2_sub;
  1. 在从库查看子表,发现同步已经生效
USE db_test;
SHOW TABLES;

可以看到test2_sub表已经不再存在。

通过以上示例可以看到,主从复制可以有效的实现数据的同步,大大提高了系统的可用性和稳定性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MYSQL5.6.33数据库主从(Master/Slave)同步安装与配置详解(Master-Linux Slave-windows7) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • asp.net无法加载oci.dll等错误的解决方法

    请看以下内容: ASP.NET无法加载oci.dll等错误的解决方法 在ASP.NET开发中,我们可能会遇到类似“无法加载oci.dll”、“无法加载oraocci11.dll”、“无法加载Oracle.DataAccess.dll”等错误。这些错误通常是由Oracle客户端库(ODAC)没有正确安装或配置引起的。下面是解决这些问题的一些方法。 1. 安装或…

    database 2023年5月21日
    00
  • mysql 常用命令用法总结脚本之家整理版

    标题 mysql 常用命令用法总结脚本之家整理版攻略 简介 该攻略为整理版 mysql 常用命令用法总结,旨在提供 mysql 数据库管理操作参考。 安装 推荐使用 apt-get 安装: sudo apt-get update && sudo apt-get install mysql-server -y 登录 MySQL 命令格式: my…

    database 2023年5月22日
    00
  • Mysql利用group by分组排序

    在数据库查询中,使用 GROUP BY 子句可以将数据按照指定的字段分组,然后进行聚合操作,例如计算总数、平均值、最大值、最小值等。在 GROUP BY 子句后面可以使用 ORDER BY 子句对分组后的数据进行排序。这种方式可以使用户方便地获取所需的聚合数据,并且结果还能根据需求进行排序。 下面是使用MySQL的GROUP BY子句进行分组排序的完整攻略:…

    database 2023年5月22日
    00
  • 新手入门Mysql–概念

    新手入门Mysql–概念 Mysql是一个开源的关系型数据库管理系统,广泛应用于Web应用程序开发和数据存储等领域。学习Mysql需要了解一些基本概念,本文将为新手介绍Mysql的一些基本概念。 数据库 在Mysql中,数据库是指一个包含一系列相关数据表、查询语句、函数、视图和存储过程等对象的集合体。通过使用Mysql客户端或者代码连接数据库,并对其中的各…

    database 2023年5月22日
    00
  • MySQL数据库安全设置与注意事项小结

    MySQL数据库安全设置与注意事项小结 MySQL是目前互联网上最为流行的开源数据库之一,它的安全性设置与注意事项非常重要,本文将为大家介绍MySQL数据库安全设置与注意事项,帮助大家保证数据的安全性。 1. 减少不必要的权限 MySQL中的用户权限可控制用户对数据库、表和列的访问级别。建议在生产环境中使用具有足够权限的专用用户。管理员不应向每个用户授予超出…

    database 2023年5月19日
    00
  • SQL 在运算和比较中使用Null

    当在SQL中使用Null时,需要注意以下几点: Null不能直接用于算术运算符(如加法、减法等)或连接运算符(如’+’、’||’)中。如果要进行这类运算,必须使用特殊的函数,例如COALESCE、NVL、IFNULL、NULLIF等。 在SQL中,Null的特殊值与其他值不相等,因此在比较和排序时需要特别注意。 下面是两个实例,展示在SQL中如何在运算和比较…

    database 2023年3月27日
    00
  • Linux history命令的几个使用小技巧

    当你在使用Linux终端时,历史命令可能是最有用的命令之一。History命令可以帮助你查找并重复执行之前执行过的命令。下面是Linux history命令的几个使用小技巧: 1. 使用‘history’命令来查找历史命令 最基本的用法就是输入history命令来查找历史命令。这将显示当前用户在该终端会话中执行的所有命令,每个命令前有一个数字序列,这表示执行…

    database 2023年5月22日
    00
  • Mysql 原生语句中save or update 的写法汇总

    当我们需要向MySQL数据库中插入或更新数据时,我们可以使用 save or update 操作。这个操作本质上是一个 insert into 和 update 的组合。 下面是我给出的 “Mysql 原生语句中 save or update 的写法汇总” 的完整攻略: 1. 什么是 save or update 操作 save or update 是 My…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部