当我进行mysqldump操作时,我得到一个.SQL文件.我从来没有创建过一个.DUMP文件,但能够从一个.DUMP文件中恢复一个数据库,该文件使用相同的操作("<"或SOURCE)来从.SQL文件中恢复数据库.
那么这两种文件类型有什么区别?
我需要创建我的应用程序的备份,其中包括使用Google驱动器API创建2个数据库的备份以及共享首选项.我能够为应用程序完成身份验证,并使用以下代码在Drive中创建一个新文件夹:
public class MainActivity2 extends BaseDemoActivity {
DriveId folderId;
@Override
public void onConnected(Bundle connectionHint) {
super.onConnected(connectionHint);
MetadataChangeSet changeSet = new MetadataChangeSet.Builder().setTitle("New folder").build();
Drive.DriveApi.getRootFolder(getGoogleApiClient())
.createFolder(getGoogleApiClient(), changeSet)
.setResultCallback(folderCreatedCallback);
}
ResultCallback<DriveFolderResult> folderCreatedCallback = new ResultCallback<DriveFolderResult>() {
@Override
public void onResult(DriveFolderResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Error while trying to create the folder");
return;
}
folderId = result.getDriveFolder().getDriveId();
showMessage("Created a folder: " + result.getDriveFolder().getDriveId());
}
};
}
Run Code Online (Sandbox Code Playgroud)
我使用插入文件
fileUri = Uri.fromFile(new java.io.File(Environment.getDataDirectory().getPath()
+ "/data/com.example.myapp/databases/mydb.db"));
java.io.File fileContent = new java.io.File(fileUri.getPath());
FileContent mediaContent = new FileContent(getMimeType("db"), …Run Code Online (Sandbox Code Playgroud) backup android database-backups sharedpreferences google-drive-api
Postgres 版本:
PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3), 64-bit
Run Code Online (Sandbox Code Playgroud)
我们使用 vm 转换器将系统从一台服务器转移到另一台服务器(具有更好的 cpu 和 RAM),当我尝试备份数据库时出现错误:
pg_dump: reading schemas
pg_dump: reading user-defined tables
pg_dump: reading extensions
pg_dump: reading user-defined functions
pg_dump: reading user-defined types
pg_dump: reading procedural languages
pg_dump: reading user-defined aggregate functions
pg_dump: reading user-defined operators
pg_dump: reading user-defined operator classes
pg_dump: reading user-defined operator families
pg_dump: reading user-defined text search parsers
pg_dump: reading user-defined text search templates
pg_dump: reading user-defined text search …Run Code Online (Sandbox Code Playgroud) 我的目标是创建 arango 数据库转储(包含所有用户和密码、权限、数据库、集合、角色等),然后在另一台 arango 服务器(从头开始安装并为空)上完全恢复此数据)。
我使用的是单节点配置,arangodb版本是3.4.4 [linux]。
在 origin 上,我对每个数据库进行转储:
USER=root
PASSWORD=***
for db in $(arangosh --server.username "$USER" --server.password "$PASSWORD" --javascript.execute-string "db._databases().forEach(function(db) { print(db); });")
do
arangodump --output-directory /tmp/dump/"$db" --overwrite true --server.username "$USER" --server.password "$PASSWORD" --include-system-collections --server.database "$db"
done
Run Code Online (Sandbox Code Playgroud)
然后我将创建的文件夹移动到该服务器上的空 arangodb 服务器上:
arangorestore --input-directory "/tmp/dump/_system/"
arangorestore --input-directory "/tmp/dump/collection/"
arangorestore --input-directory "/tmp/dump/collection2/"
...one by one
Run Code Online (Sandbox Code Playgroud)
结果远远超出了我的预期,我只是获取root用户的_system数据库中的集合(没有其他用户,没有数据库)。
我究竟做错了什么?如何进行完整备份和恢复?
提前致谢。
我有一个 kubernetes 集群,有一个运行 postgres 数据库的 pod,所以在 Docker 中。显然,我已经将数据安装在主机上了。
我想设置 Barman 来为数据库提供备份解决方案。
我阅读了有关酒保的文档。根据http://docs.pgbarman.org/release/2.0/的设计和架构部分,我想采用以下架构,因为我有一个大型数据库,并且增量备份符合我们的要求。这对于流式备份策略来说是不可能的(场景 1:通过流式协议备份),即使他们说这对于 Docker 环境更好
我的问题是当 postgres 在 Docker 中运行时如何设置?由于文件已安装在主机上,我可以仅在主机上使用 ssh 来继续备份吗?
感谢你的回答
没有理由,我丢失了数据库中的所有数据.幸运的是,这只是测试数据,但这让我想到如果使用生产数据库完成这将会发生什么.
最终,每个开发人员都遇到了db问题,并希望回滚数据库.我们不做保护数据库的事情,因为我们认为它是DBA的工作,但后来我们遇到了麻烦......
您的备份最佳做法是什么?
因此,我们在具有16GB RAM的计算机上拥有32GB的生产数据库。多亏了缓存,这通常根本不是问题。但是,每当我启动数据库的pg_dump时,来自应用服务器的查询就会开始排队,几分钟后,队列就消失了,我们的应用陷入停顿。
我将第一个承认我们存在查询性能问题,并且正在解决这些问题。同时,我希望能够每晚运行pg_dump,这种方式可以从数据库中吸取信息,并且不会降低应用程序的性能。我不在乎是否要花几个小时。我们的应用程序未运行任何DDL,因此我不必担心锁争用。
为了解决这个问题,我正在使用niceice和ionice来运行pg_dump。不幸的是,这不能解决问题。
nice ionice -c2 -n7 pg_dump -Fc production_db -f production_db.sql
Run Code Online (Sandbox Code Playgroud)
即使有了ionice,我仍然看到上面的问题。似乎I / O等待,并且大量搜寻导致了该问题。
vmstat 1
Run Code Online (Sandbox Code Playgroud)
向我显示iowait徘徊在20-25%左右,有时会飙升至40%。实际CPU%的波动范围是2%-5%,有时会飙升至70%。
我认为锁不是罪魁祸首。当我运行此查询时:
select pg_class.relname,pg_locks.* from pg_class,pg_locks where pg_class.relfilenode=pg_locks.relation;
Run Code Online (Sandbox Code Playgroud)
我只看到标记为已授予='t'的锁。我们通常不会在生产中运行任何DDL,因此锁似乎不是问题。
这是启用了WCHAN列的ps的输出:
PID WIDE S TTY TIME COMMAND
3901 sync_page D ? 00:00:50 postgres: [local] COPY
3916 - S ? 00:00:01 postgres: SELECT
3918 sync_page D ? 00:00:07 postgres: INSERT
3919 semtimedop S ? 00:00:04 postgres: SELECT
3922 - S ? 00:00:01 postgres: SELECT
3923 - S ? 00:00:01 postgres: SELECT
3924 - S …Run Code Online (Sandbox Code Playgroud) 我有一个使用mysql作为后端的java应用程序,每天晚上我们使用mysqldump备份mysql并且应用程序在该时间段内停止工作(应用程序20分钟).
用于进行备份的命令.
$MYSQLDUMP -h $HOST --user=$USER --password=$PASS $database > \
$BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql
gzip -f -9 $BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql
Run Code Online (Sandbox Code Playgroud)
这是正常的还是我做错了导致数据库在此期间失速?
谢谢,K
我正在运行我的数据存储区的每日计划备份.当执行此计划备份时,是否可以以编程方式禁用数据存储区写入?一旦完成就启用它?
场景:
我正在使用SQL Server 2008 R2数据库服务器处理C#windows窗体应用程序.所有事情都进展顺利,即使我能够创建数据库备份但是当我以编程方式恢复它时它会给我错误"RESTORE无法处理数据库"Test_DB '因为它正在被这个会话使用.建议在执行此操作时使用master数据库.RESTORE DATABASE异常终止. 这是我的备份和恢复程序
// back up code
try
{
SaveFileDialog sd = new SaveFileDialog();
sd.Filter = "SQL Server database backup files|*.bak";
sd.Title = "Create Database Backup";
if (sd.ShowDialog() == DialogResult.OK)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString))
{
string sqlStmt = string.Format("backup database Test_DB to disk='{0}'", sd.FileName);
using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn))
{
conn.Open();
bu2.ExecuteNonQuery();
conn.Close();
DevComponents.DotNetBar.MessageBoxEx.Show("Backup Created Sucessfully");
}
}
}
}
catch (Exception)
{
MessageBox.Show("Backup Not Created");
} …Run Code Online (Sandbox Code Playgroud) c# sql-server visual-studio-2010 database-backups sql-server-2008-r2
database-backups ×10
database ×3
backup ×2
mysql ×2
postgresql ×2
sql ×2
android ×1
arangodb ×1
barman ×1
c# ×1
docker ×1
mysqldump ×1
pg-restore ×1
sql-server ×1
sysadmin ×1