好的,所以我知道如何使用find then cp命令在本地执行此操作,但不知道如何使用scp远程执行相同操作.
所以知道这个:
scp -vp me@server:/target/location/ /destination/dir/.
Run Code Online (Sandbox Code Playgroud)
该目标目录将充满数据库备份,如何告诉它查找最新备份,以及本地scp?
我正在定期转储使用数据库进行日志记录的数据库.我需要创建一个mysqldump从数据库转储所有内容的命令,但不包括日志表的行信息.
我看到的no-data参数,但是这似乎并不支持只选择某些表.
我有一个大约85+表的postgresql数据库.我pg_dump在复制模式下使用(通过php-pgadmin)定期备份,备份文件的大小几乎是10-12 MB.现在我面临的问题是,每当我尝试恢复数据库时,都会出现外键约束问题.方案如下:
有两个表:1)users和2)zones.我已经在users表中存储了区域的id 以识别用户的区域并将其设置为外键.
当我进行db转储时,表的条目zones仅在表的条目之后users.我认为这是由于表名的第一个字母:u来之前z,因此当我恢复数据库时,会发生外键约束问题并且执行停止.当我尝试恢复数据库结构时会出现同样的问题,它表示zones数据库中不存在该表,因为在转储文件中的结构zones之后users.
这有什么解决方案吗?还有其他备用方法可行吗?
我有MSSQL .BAK文件,并且由于后勤原因(我的infra的数据库很大)我想将它转换为BacPac文件,以便我可以将其上传到Azure.
所有这一切,虽然我认为.BAK和BacPac是相同的,所以有错误,是否有一个实用程序来转换它?
在过去,我得到了SO社区的大量帮助,所以一旦我弄清楚这一点,我认为这是我回馈一点的机会.希望它可以帮助某人.
我面临的问题是我的核心网站建立在WordPress上,另一个数据库用于网站的电子商务部分,我想每天将整个网站(所有文件,两个数据库等)备份到Dropbox基础.
经过漫长的搜索,我找不到任何完全符合我要求的东西.
免责声明:您无需运行WordPress或电子商务网站即可运行.它适用于任何MySQL数据库,需要PHP.
我遇到了WordPress Backup to Dropbox插件,这让我大约90%.该插件允许我备份网站上的所有文件,并以您安排的频率执行WordPress数据库备份.
问题是该插件只备份WordPress数据库,但不备份我的电子商务数据库.
我还发现了Dropbox教程的MySQL备份(信用到期),下面的一些代码基于.这是一个很棒的教程,但我希望它能够在不同时间备份和删除备份 - 教程同时备份和删除.
我有一个数据库,其中包含一些应用程序设置表,用户,部门,城市等列表.我想要那些表的结构和数据.因此,如果我得到一个新用户,备份将保存它.
但是也有一些历史和计算数据的数据,这些数据来自其他来源,只能工作一段时间然后到期,所以备份这些数据将是一种浪费.但是需要有结构,所以恢复将创建需要它的表用于应用程序.
现在我正在使用此命令,但这会保存所有表和所有数据.
pg_dump -U "postgres" -h "local" -p "5432"
-d dbName -F c -b -v -f c:\uti\backup.dmp
Run Code Online (Sandbox Code Playgroud)
我还有2个关于pg_dump的问题.
A)docs说选项-b用于blob数据.我有非常大的表,但我想这个选项仅用于具有BLOB字段的表,所以我的备份不应该有任何区别,因为我没有这些字段?
B)我看到pg_dump选项用于表和模式.如何指定是否要保存函数代码?
在我的数据库备份和导出中,我得到如下内容:
/*!50001 DROP TABLE `vTime`*/;
/*!50001 DROP VIEW IF EXISTS `vTime`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`db_user`@`%` SQL SECURITY DEFINER */
/*!50001 VIEW `vTime` AS select ... */;
Run Code Online (Sandbox Code Playgroud)
这在恢复时会导致问题,因为"CREATE ALGORITHM"和"DEFINER"部件在尝试恢复时失败.有没有办法mysqldump简单地做一个简单的方法CREATE VIEW?
奖金问题:这些/*!50001部分是什么意思?
编辑:我应该补充一点,这是我得到的错误:
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
编辑2:似乎只有/*!50013 DEFINER=部分失败.
用例实际上是自动执行此操作ansible.我想只在数据库完全为空(内部没有表)时导入数据库转储.当然总有办法执行sql语句,但这是最后的手段,我相信应该有更优雅的解决方案.
pg_restore 就我看来,手册不提供此选项.
以下是我计划用ansible执行此操作的方法:
- name: db_restore | Receive latest DB backup
shell: s3cmd --skip-existing get `s3cmd ls s3://{{ aws_bucket }}/ | grep sentry | tail -1 | awk '{print $4}'` sql.latest.tgz
args:
chdir: /root/
creates: sql.latest.tgz
- name: db_restore | Check if file exists
stat: path=/root/sql.latest.tgz
register: sql_latest
- name: db_restore | Restore latest DB backup if backup file found
shell: PGPASSWORD={{ dbpassword }} tar -xzOf /root/sentry*.tgz db.sql | psql -U{{ dbuser }} -h{{ pgsql_server …Run Code Online (Sandbox Code Playgroud) 我有一个Azure Cosmos数据库,我需要删除此订阅中的所有资源.有没有办法从门户网站下线备份?
我已经从 SELECT 查询创建了 csv 备份,现在尝试将其导入回数据库。但我收到此错误:
COPY doc FROM '/tmp/doc.csv' DELIMITER ',' CSV HEADER;
ERROR: invalid input syntax for type uuid: "null"
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我的文件中有 NULL "null"。
这种情况发生在之前为空的可选字段上。
我找到了这个解决方案:/sf/answers/2830006721/
但它对我不起作用:
COPY doc FROM '/tmp/doc.csv' DELIMITER ',' CSV HEADER QUOTE '"null"' NULL '';
ERROR: COPY quote must be a single one-byte character
Run Code Online (Sandbox Code Playgroud)
我如何导入这个文件?
UPD:我尝试用空引号替换空值。
命令尝试:
COPY doc FROM '/tmp/null.csv' DELIMITER ',' CSV HEADER QUOTE '"' NULL '';
ERROR: invalid input syntax for type uuid: ""
Run Code Online (Sandbox Code Playgroud)
文件的简短版本:
"id","removed","modified_at","root_id","parent_id","acl","properties","data","file_meta"
"f6a16ff7-4a31-11eb-be7b-8344edc8f36b","false","2021-01-04 00:00:12.347988","","","IS_PUBLIC","","",""
"2fdd0b8b-4a70-11eb-99fd-ad786a821574","false","2021-01-04 00:00:06.87298","","","IS_PUBLIC","","","" …Run Code Online (Sandbox Code Playgroud)