发布网友 发布时间:2022-04-22 20:00
共3个回答
懂视网 时间:2022-04-30 04:06
10.70.33.90Remote-Server: 10.70.33.
1,在db-server:
# mysql -uroot -p mysql> use mysql; Database changed
创建备份帐号:
mysql> GRANT SELECT,RELOAD,LOCK TABLES ON *.* TO ‘backupdb‘@‘localhost‘ identified by ‘12345678#qweD‘; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
创建备份脚本:
# cat backup_mydb.sh #!/bin/bash back_mydb(){ Date=`date -d "yesterday" +%Y-%m-%d` dbname=test1234 dbuser=backupdb dbpasswd=12345678#qweD /usr/bin/mysqldump -u$dbuser -p$dbpasswd --databases $dbname > /tmp/${dbname}_$Date.sql #如果数据库导出来很大,可压缩再发送到远端: gzip -c /tmp/${dbname}_$Date.sql > /tmp/${dbname}_$Date.sql.gz rsync -avz /tmp/${dbname}_$Date.sql.gz nobody@10.70.33.::mydb_bak rm -f /tmp/${dbname}_$Date.sql* } back_mydb
添加计划任务:
# crontab -e # backup ‘test1234‘ DB by chongzi 2015.6.19 0 1 * * * /bin/bash /data1/scripts/backup_myDB.sh
2,远端服务器rsync配置:
[mydb_bak] path = /backup/mydb comment = Backup CMS MysqlDB for ‘test1234‘ ignore errors read only = no list = no hosts allow = 10.70.33.90
创建备份目录,并赋予相应权限:
# mkdir /backup/mydb # chown -R nobody.nobody /backup/mydb
本文出自 “daemonSA” 博客,请务必保留此出处http://daemonsa.blog.51cto.com/340243/16635
将本地数据库备份到远程服务器
标签:mysql 备份
热心网友 时间:2022-04-30 01:14
看了下你的描述,
可能是你在恢复的时候没有在本地选择mdf和ldf的文件位置。如果你把服务器的mdf和ldf拷贝出来,需要把服务器上的数据库停用才能行。建议不要这么做。
我详细说下怎么操作。
1.
在服务器上找到特定数据库名--右键所有任务--备份数据库--弹出备份窗口,选择备份目标地址路径。(文件名以后缀名
.bak
)
2.
把备份的数据库文件(.bak)
复制到本地电脑
3.在本地数据中选中数据库(不是数据库名)--右键所有任务--恢复数据库--弹出恢复窗口,在恢复数据库里输入你想恢复成的数据库名(可以随便取,也可以用原来数据库名),选择从设备恢复,找到.bak文件。
4.此时不要点击ok。需要在回到恢复数据库窗口--选项--选择本地的物理逻辑地址,就是放mdf和ldf的地方。(你可能没有修改这里,用的还是服务器上的路径,
所以本地找不到报错。)
热心网友 时间:2022-04-30 02:32
你本地的数据库是在运行的吧,这个就最方便的。
你直接在本地打开
SQL
Server
Management
Studio
(mssql客户端)同时连接本地及远程数据库。
选择本地要同步的数据库,任务--导出数据。。。然后直接就导入了远程的数据库了。
当然也可以生成sql脚本,然后再执行都
行。