MySQL复制数据库
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,MySQL复制数据库的办法非常多。针对不同的场景,选择相应的办法。在可以停止写入,不用保证数据一致性,需要速度的情况下,可以通过物理复制的办法。以下给出脚本:#!/bin/bashdatadir=/d
千家信息网最后更新 2025年01月22日MySQL复制数据库
MySQL复制数据库的办法非常多。针对不同的场景,选择相应的办法。
在可以停止写入,不用保证数据一致性,需要速度的情况下,可以通过物理复制的办法。以下给出脚本:
#!/bin/bashdatadir=/data/mysqlexport PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/mysql/binusage(){echo -e "Usage: $0 db1 db2\nCopy db1 to db2.\nNote: if db2 exists,drop and recreate it."exit 1}if [ $# -ne 2 ]; then usage; fi[ -d ${datadir}/$2 ] && rm -rf ${datadir}/$2/*mysql --login-path=recover -e "drop database if exists $2;create database $2;"for i in `ls -1 ${datadir}/$1/ | grep .ibd | awk -F '.' '{print $1}'`domysql --login-path=recover -e "create table $2.$i like $1.$i;ALTER TABLE $2.$i DISCARD TABLESPACE;flush tables $1.$i for export;system cp -pf ${datadir}/$1/$i.{ibd,cfg} ${datadir}/$2/; unlock tables;" mysql --login-path=recover -e "set foreign_key_checks=0;alter table $2.$i import tablespace;analyze table $2.$i;" donerm -rf ${datadir}/*cfgexit 0
具体实现可以参阅官方文档。
其中实现很简单,但过程发现了一些有意思的东西。
开始的时候,脚本中并没有[ -d ${datadir}/$2 ] && rm -rf ${datadir}/$2/*
这一句。在第一次执行脚本没什么毛病。但是,当对源库修改后,再次执行,这个时候目标库锁定了。查看进程发现System lock,错误日志提示Orphan table encountered during DROP DATABASE. This is possible if 'db2/t1.frm' was lost。
这个MySQL服务不能正常shutdown,通过kill掉进程重启。
重启服务过后,仍然不能删除目标库。需要删除目标库目录下的所有文件,可删除目标库。
以上问题在5.6系列会发生,5.7和8.0系列并无此问题。
目标
办法
脚本
数据
时候
进程
问题
服务
数据库
不同
一致
有意思
没什么
一致性
不用
东西
再次
可以通过
场景
官方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
农产品残留基础数据库
网络安全公益大讲题心得体会
全国网络安全课讲师
做软件开发 还是销售
服务器硬盘灯亮
江西综合软件开发成本价
科技股和互联网有啥区别
苹果自带地图找不到服务器
趣味计算机网络技术
软件开发核定征收所得税吗
如何查询数据库实例信息
9.0死亡之翼还服务器
安广网络技术系统自评估
软件开发云创新中心招聘
松江区网络技术开发咨询介绍
护树庙 网络安全课
模拟城市服务器连接中断
怎么给数据库中单个空值赋值
王思聪专业服务器
将网站发布到服务器
金华企业网络安全准入控制哪家好
一个网络安全团队的发展历史
管理网络技术服务口碑推荐
四川蜀侠网络技术公司怎么样
服务器虚拟机系统作用
自考软件开发流程是
自学软件开发能找到工作吗
软件开发公司销售部门个人目标
人口基本信息数据库
纵联网络技术
- 上一篇
alter database datafile offline drop 与 alter tablespace drop datafile 区别
1. alter database datafile 'file_name' offline drop该命令不会删除数据文件,只是将数据文件的状态更改为recover。 offline drop命令相
- 下一篇
Oracle:RAC的grid用户群集监听? oracle用户的节点监听
遇到类似问题了:Oracle 11g R2.0.1 RAC grid群集资源 { crs_start 监听资源名 | svrctl start listener } 启动后,总有一个监听无法启动,进入