window迁移至linux mysql主从同步

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: window迁移至linux mysql主从同步 A: 测试环境   主服务器:  window系统 主库(master):masterhost|masterport|masteruser|masterpassword mysql:5.

window迁移至linux mysql主从同步

A: 测试环境

 

主服务器:  window系统

主库(master):masterhost|masterport|masteruser|masterpassword

mysql:5.7.17 community server

 

从服务器:  linux系统

从库(slave):  slavehost|slaveport|slaveuser|slavepassword

mysql:5.7.22  community server

 

 

登录数据库

主库:mysql -u masteruser -p --port masterport

从库  mysql -h slavehost  -u slaveuser-p --port slaveport  

退出数据库

exit

 

B 主库操作

  1. 修改mysql配置文件

文件路径:D:\mysql\my.ini  (注:window 文件为my.ini, linux 文件为/etc/my.cnf)

文件内容解释:

server-id = 1 这是数据库ID,此ID唯一,主库用默认的1即可,从库调整为2,多个从库的ID依次类推,切不可有相同ID出现,这样会造成同步出错

log_bin=mysql-bin 二进制日志文件,此项必须启用,从库需要通过它进行数据同步。

binlog_do_db=bigdata 需要同步的数据库,如果同步多个库,需要另行重写,

 

文件配置为:

# Binary Logging.

log_bin=mysql-bin

binlog_do_db=bigdata

binlog_do_db=coins

# Server Id.

server-id=1

 

  1. 重启mysql服务

Cmd-> services.msc ->mysql restart

  1. 建立同步用的数据库账户
    主库必须提供一个账户让从库通过此账户进行连接并进行同步,进入mysql后输入下面命令

grant replication slave on *.* to 'slave_account'@'%' identified by '123456';

  1. 显示主库信息并记录
    mysql> show master status;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000001 | 16882020 |     bigdata,coins         |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    将上面的日志名mysql-bin.000001和偏移量16882020记录下来
  2. 备份主库数据库并复制到从库服务器上

5.1 确保window和linux数据库字符集相同,避免主从同步错误

Mysql> show create database coins\G;

show variables like %char%;

Show variables like %collation%;

 

5.2 备份主库数据库

主库mysql\bin文件夹处,管理员权限执行命令,

mysqldump -u root -p --port 8806 bigdata > D:\bigdata.sql   

mysqldump -u root -p --port 8806 coins > D:\coins.sql

 

5.3 将数据从window拷贝到Linux中。

Linux文件目录 /data/datafiles/

5.4登录Linux的MySql数据库

mysql -u root -p --port 8806

5.5创建与windows同名的数据库名

Mysql> show databases;

   Create database coins;

 

5.6导入数据 

Use coins;

Source  /data/datafiles/coins.sql

另一个数据库bigdata同样操作。

 

 

C:从库操作

  1. 修改mysql配置文件

文件路径: /etc/my.cnf

文件添加内容:

server-id=2

  1. 重启mysql服务

Service mysqld restart

  1. 手动同步

与主库进行同步,可将下面内容调整好后直接复制到mysql命令行下,这样不容易出错
设置连接MASTER MASTER_LOG_FILE为主库的File,MASTER_LOG_POS为主库的Position,就是在主库记录的那2个值

Mysql>change master to

master_host = 'masterhost ',

master_user='slave_account',

master_password='123456',

master_port=masterport,

master_log_file='mysql-bin.000001',

master_log_pos=16882020;

  1. 启动slave服务

Start slave;

  1. 检查从库是否正常同步
    mysql>show slave status \G;

 

当Slave_IO_Running 和 Slave_SQL_Running 两列的值都为 "Yes",表明 Slave 的 I/O 和 SQL 线程都在正常运行,如果出现错误,可以从Last_Error这个参数中看出哪里出错,然后进行排查。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
30天前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
168 0
|
12天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
31 3
|
12天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
26 3
|
22天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
67 3
|
1月前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
180 1
|
11天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
26 1
|
13天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
29 4
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
63 3
Mysql(4)—数据库索引
|
20天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
97 1
|
22天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
65 2
下一篇
无影云桌面