首页 > 运维 > linux运维 > 正文

【数据库系列】环境治理之同步数据库

爱谁谁
发布: 2025-07-16 10:42:45
原创
216人浏览过

1 环境治理中的数据库同步

在环境治理的过程中,数据库管理是不可或缺的,而数据库同步则是管理中的关键环节。

测试数据作为测试需求中的重要资产,数据的备份和同步工作至关重要。接下来,我将详细介绍如何进行数据的同步及备份。

2 如何同步数据库

1、通过Navicat进行数据或结构同步

工具 > 数据同步:用于同步结构和数据,选择源连接、源数据库和目标连接、目标数据库。

注:务必要确认源和目标,切勿反向同步!

【数据库系列】环境治理之同步数据库

工具 > 结构同步:仅同步结构,不同步数据,选择源连接、源数据库和目标连接、目标数据库。

注:务必要确认源和目标,切勿反向同步!

【数据库系列】环境治理之同步数据库

2、通过命令行方式备份及还原数据库

代码语言:javascript代码运行次数:0运行复制```javascript ##################################备份################################### 注:如果账号密码有特殊字符,需用斜杠做转义,如:qwe!# 1.1、备份单个数据库dbname到目录/tmp下面,并指定名称为dbname(dbname可任意更改) mysqldump -h127.0.0.1 -uroot -ppassword dbname > /tmp/dbname.sql;

1.2、备份数据库中的某个表t_a_table t_b_table,注:表名之间是空格

mysqldump -h127.0.0.1 -uroot -ppassword dbname t_a_table t_b_table > /tmp/dbname.sql;

LuckyCola工具库
LuckyCola工具库

LuckyCola工具库是您工作学习的智能助手,提供一系列AI驱动的工具,旨在为您的生活带来便利与高效。

LuckyCola工具库19
查看详情 LuckyCola工具库

1.3、备份多个数据库a_dbname b_dbname,注:加上--databases参数,数据dbname之间是空格

mysqldump -h127.0.0.1 -uroot -ppassword --databases a_dbname b_dbname > /tmp/dbname.sql;

1.4、备份数据库并压缩

mysqldump -h127.0.0.1 -uroot -ppassword dbname | gzip > /tmp/dbname.sql.gz; ##################################还原################################### 2.1、还原数据库 mysql -h127.0.0.1 -uroot -ppassword dbname use dbname #数据库 mysql>source /tmp/dbname.sql #然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

<code>
3 定时同步数据库
<p>通过上述介绍,我们已经了解了如何备份和还原数据库。接下来,我们需要按天备份源数据库,并在同步到目标数据库前对目标数据库进行备份。</p><p>注意,在进行任何同步操作前,必须先做好备份,以防万一!</p><p>下面是一个实现数据库同步的示例脚本,结合crontab定时任务执行脚本,crontab -e 编辑crontab服务文件,</p><p>例如:<em> 23 </em> <em> </em> /bin/sh /tmp/synchronize_database_data.sh。</p><p>查看定时任务:crontab -l。</p><p>以下是synchronize_database_data.sh同步数据库脚本,供参考:</p><p>代码语言:javascript代码运行次数:0<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制```javascript</p><h1>!/bin/bash</h1><p>time1=<code>date +%Y-%m-%d</code>
time2=<code>date +%Y-%m-%d_%H:%M:%S</code></p><h1>注:数据库位置一定要对应!!!</h1><p>src_dbname_list=(dbname_a dbname_b)
dst_dbname_list=(dbname_a dbname_b)</p><h1>1、根据当天时间创建目录, -p:如果不存在该目录则创建</h1><p>create_dir(){
mkdir -p /tmp/src_dbname/${time1}
mkdir -p /tmp/dst_dbname/${time1}
}</p><h1>2、源数据库压缩备份</h1><p>bak_scr(){
mysqldump  -h127.0.0.1 -P3306 -uroot -ppassword  ${src_dbname_list[$i]} | gzip > /tmp/src_dbname/${time1}/${src_dbname_list[$i]}.sql.gz
echo -e "\033[32m${time2}  ${src_dbname_list[$i]} 源数据库压缩备份成功 路径:/tmp/src_dbname/${time1}/${src_dbname_list[$i]}.sql.gz\n\033[0m"
}</p><h1>3、目标数据库备份+源数据库同步到目标数据库</h1><p>sync_dst(){
mysqldump  -h127.0.0.1 -P3306 -uroot -ppassword  ${dst_dbname_list[$j]} | gzip > /tmp/dst_dbname/${time1}/${dst_dbname_list[$j]}.sql.gz
echo -e "\033[32m${time2}  ${dst_dbname_list[$j]} 目标数据库压缩备份成功 路径:/tmp/dst_dbname/${time1}/${dst_dbname_list[$j]}.sql.gz\n\033[0m"
gunzip </code>
登录后复制

4 总结

对数据库要怀有敬畏之心,无论是生产环境还是测试环境,数据备份都是基本功!!!

以上就是【数据库系列】环境治理之同步数据库的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号