MySQL复制数据库
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,MySQL复制数据库的办法非常多。针对不同的场景,选择相应的办法。在可以停止写入,不用保证数据一致性,需要速度的情况下,可以通过物理复制的办法。以下给出脚本:#!/bin/bashdatadir=/d
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
数据库表结构对比工具
网络安全行业怎么称呼
蔡甸专业的软件开发电话
网络安全手抄报图片简单点的
虹口区网络软件开发内容
开源计算机网络技术
数据库原理与应用的题
专业网络安全服务
关键技术数据库
电脑突然断电无法连接服务器
hive集成关系数据库吗
顺丰数据库故障
关于互联网科技文章
数据库技术基础
网络安全四害有哪些
软件开发 引言
宝塔安装oracle数据库
网络技术命令基本用书
完整数据库建造
为什么云数据库这么贵呀
服务器安全保密认证
如流服务器处理失败
网络安全管理四害
局域网内服务器怎么样
国家网络安全宣传公益广告
哪个部门负责网络安全认证
永结物件链接服务器
少儿校园网络安全文明用语
连接其他主机的数据库
地址池网络技术
- 上一篇
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 } 启动后,总有一个监听无法启动,进入