MySQL数据库跨分区迁移

一、需求分析
MySQL数据库一主两备,但是未在同一个分区,所谓分区是指数据存放在不同的存储上,目的是防止存储故障导致数据丢失。

二、解决方案,数据迁移
通过备库对数据进行迁移,不动主库,不影响业务。
操作步骤如下:

     1、备库停机
        shutdown;
        2、scp -r 传输数据库软件和数据文件及binlog等数据库相关文件
        3、新备库参数调整
        记住两个id,server_id和server_uuid,存放在my.cnf和auto.cnf文件中。
        4、新备库启动
        mysqld_safe --defaults-file=/xxx/my.cnf &
        5、启动同步线程
        start slave;
        show slave status \G;
        此处会有延迟,但是数据库不太很大,几分钟可能就同步完成。
        6、监控
        数据库搭建完成,需要配置监控,比如zabbix,普罗米修斯等
        7、一些系统参数、防火墙、selinux、limits.conf等需要提前配置好。

三、小结
1、生产环境变更要走流程,要合规
2、要编写实施方案,要测试。

原文地址:https://blog.51cto.com/roidba/2445281

时间: 2024-10-07 12:02:57

MySQL数据库跨分区迁移的相关文章

MySQL数据库从windows迁移到linux

前几天搭建了lamp环境,想把之前写的小东西迁到linux上运行,涉及到把mysql数据库的文件迁移到linux上,直接用fileZilla传过去应该不行,我试了下,反正没成功.下面是我采用的方法: (一)用mysqldump命令导出数据库文件: 在windows下cd到Mysql的bin目录: c:/data.txt这个目录和导出的文本名可以自己随便取,-B 后面的是表名,我要导出的表明叫user.输入密码之后,就可以去保存的目录下看看有没有数据文件了,有的话就成功了,感觉可能失败的地方就是没

mysql数据库安装路径迁移

系统:centos7.3数据库:mysql5.7 mysql数据库安装路径迁移之前,先停止业务. 一.停止数据库服务systemctl stop mysqld 二.查看服务器存储情况df -h 三.进入数据库默认安装目录cd /var/lib/mysql 四.查看mysql默认路径下文件大小du -h --max-depth=1 /var/lib/mysql 五.复制/var/lib/mysql到/data目录下cp -a /var/lib/mysql /data/ 六.进入/etc目录,备份m

Mysql数据库表分区深入详解

0.mysql数据库分区的由来? 1)传统不分区数据库痛点 mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看), 一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的. [[email protected] test]# ls -al 总用量 1811444 drwx------ 2 mysql mysql 4096 10月 17 15:12 . drwxr-xr-

MySQL数据库跨服务器数据同步

1.背景介绍最近公司项目要求与开源项目Zentao做数据对接,因为改动开源项目风险较大,采用将Zentao数据库的相关表与本地数据库同步的方案.由我测试方案的可行性.mysql版本:5.7.20.本地数据库A(作为Zentao数据库),本地数据库B,本地程序C:本地为Windows环境. 2.方案探索方案1项目经理的意思是在A中写触发器,表中数据变化时将ID发给C,由C在A中查询变化的数据,写入B.过程中需要安装mysql-udf-http插件(参考:https://www.2cto.com/d

MySQL数据库数据信息迁移

环境内核信息: [[email protected] ~]# uname -a Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 备份数据库中的数据 [[email protected] tools]# /application/mysql/bin/mysqldump -u root -p123456 --all-databases

mysql数据库跨服务器间复制与迁移

mysqldump -h host -u user -p dbname>bak.sql host即原服务器的ip地址,这里有一个前提,就是要将原服务器的mysql设置成远程可连接,这个设置在网上很容易找到,我就不在此进行说明了.实践 了一下,速度还是可以的,从长沙服务器传输数据到上海服务器,采用该命令,600多M的sql文件,只用了两三分钟就导出完成了,然后直接采用: mysql -u user -p  dbname<bak.sql

CentOS下mysql数据库data目录迁移

公司新上线一个资讯网站,独立主机,raid5,lamp架构.由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区.apache,mysql,php均使用yum安装(也尝试过独立编译安装,但现实使用中,发现不如yum方便快捷,当然如果是大型应用型网站,估计就不是简单的yum了) 由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑

mysql数据库存储过程数据迁移案例与比较

cursor 与 insert ...select 对比: cursor:安全,不会造成死锁,可以在服务运行阶段跑,比较稳定. insert...select :速度快,但是可能造成死锁,相比cursor能够成倍提升,在服务停止的情况下迁移,速度快 数据迁移案例: 首先数据的迁移绝对不是一朝一夕能够快速迁移完成的 ,如果可以很快完成的 dump便可以搞定,没必要大费周折了. 既然不是一朝一夕能完成的,那么有关键的日志记录表能够良好的反应数据迁移的过程 迁移日志表脚本: DROP TABLE IF

Mysql数据库表的迁移和表的复制

同一台服务器上的,数据库之间的表的迁移: create table db.tablename as select * from db2.tablename; 此sql使用于mysql,从一台服务器上的db2数据库中的一个表复制到另一个数据库db的中,并把表的结构和数据的内容都复制进去. 从另一台服务中复制表的结构和内容,一下步骤: 导出数据的时候选择导出内容包含列明,我用的mysql的工具是navicate 选中包含表的列明,在另一台服务器上导入数据库中的表的结构和数据的时候可以进行如下设置: