MySQL复制数据库
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,MySQL复制数据库的办法非常多。针对不同的场景,选择相应的办法。在可以停止写入,不用保证数据一致性,需要速度的情况下,可以通过物理复制的办法。以下给出脚本:#!/bin/bashdatadir=/d
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
耶加雪菲
北京互联网科技有限公司
互联网科技英文
互联网科技公司电话
善班互联网科技
互联网科技排名
无线互联网科技
米客互联网科技
深圳市运趣互联网科技有限公司
济南华为互联网科技产业总部基地
顶级互联网科技成果有哪些
广州市恰铎互联网科技有限公司
消费医药和互联网科技
朱啸虎曾投资哪些互联网科技企业
科技互联网海报
小米互联网科技园入驻
广州有谷有贝互联网科技有限公司
湖北辰鑫科技互联网
宁波允成互联网科技有限公司
恒生科技互联网指数十大成分股
互联网科技公司
互联网络科技有限公司
银优互联网科技有限公司
互联网科技产品
苏州五指互联网络科技有限
众安科技工业互联网合作
互联网金融科技公司的优势
云南互联网科技学费
科技互联网企业在行动
恒生科技互联网指数十大成分股
- 上一篇
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 } 启动后,总有一个监听无法启动,进入