MySQL和PostgreSQL的远程备份与恢复

时间:2022-04-01 14:04:31
MySQL远程 备份
# mysqldump -h www.yunlauncher.com -u root -p push --set-gtid-purged=OFF -v > push.sql
输入远程服务器的MySQL的登陆密码后,即开始备份了。

MySQL远程恢复
# mysql -h localhost -u root -p push <push.sql
输入本地服务器的MySQL的登陆密码后,即开始恢复了。

PostgreSQL的备份与恢复:
# pg_dump -h www.yunlauncher.com -U postgres desktop > desktop.bak
# psql -h localhost -U postgres -d desktop < desktop.bak


例子:从远程服务器中,转储3张数据表

C:\Users\admin>pg_dump-h www.yunlauncher.com -p 5432 -U postgres -d desktop 

- t game_active_req -t game_pay_req -t game_user_info - f d:/game.dmp - a
用法:
  pg_dump [选项]... [数据库名字]
一般选项:
  -f, --file=FILENAME          输出文件或目录名
  -Z, --compress=0-9           被压缩格式的压缩级别
  -?, --help                   显示此帮助, 然后退出  
控制输出内容选项:
  -a, --data-only              只转储数据,不包括模式
  -C, --create                 在转储中包括命令,以便创建数据库
  -E, --encoding=ENCODING      转储以ENCODING形式编码的数据
  -s, --schema-only            只转储模式, 不包括数据
  -t, --table=TABLE            只转储指定名称的表
  -T, --exclude-table=TABLE    不转储指定名称的表
  -x, --no-privileges          不要转储权限 (grant/revoke)
联接选项:
 -d, --dbname=DBNAME       对数据库 DBNAME备份
 -h, --host=主机名        数据库服务器的主机名或套接字目录
 -p, --port=端口号        数据库服务器的端口号
 -U, --username=名字      以指定的数据库用户联接


例子:将之前的备份,恢复到本地数据库

C:\Users\admin>psql -U postgres -d desktop -f d:/game.dmp 

用法:
  psql [选项]... [数据库名称 [用户名称]]
通用选项:
  -c,--command=命令         执行单一命令(SQL或内部指令)然后结束
  -d, --dbname=数据库名称   指定要连接的数据库 (缺省:"admin")
  -f, --file=文件名         从文件中执行命令然后退出
  -l, --list               列出所有可用的数据库,然后退出
  -V, --version            输出版本信息, 然后退出
  -?, --help               显示此帮助, 然后退出
输入和输出选项
  -a, --echo-all          显示所有来自于脚本的输入
  -e, --echo-queries      显示发送给服务器的命令
  -E, --echo-hidden       显示内部命令产生的查询
  -L, --log-file=文件名   将会话日志写入文件
  -n, --no-readline       禁用增强命令行编辑功能(readline)
  -o, --output=FILENAME   将查询结果写入文件(或 |管道)
  -q, --quiet             以沉默模式运行(不显示消息,只有查询结果)
  -s, --single-step       单步模式 (确认每个查询)
  -S, --single-line       单行模式 (一行就是一条 SQL 命令)
输出格式选项 :
  -A, --no-align          使用非对齐表格输出模式
  -H, --html              HTML 表格输出模式
  -T, --table-attr=文本   设定 HTML 表格标记属性(例如,宽度,边界)
  -x, --expanded          打开扩展表格输出
联接选项:
  -h, --host=主机名        数据库服务器主机或socket目录(缺省:"localhost")
  -p, --port=端口        数据库服务器的端口(缺省:"5432")
  -U, --username=用户名    指定数据库用户名(缺省:"admin")
  -w, --no-password       永远不提示输入口令
  -W, --password           强制口令提示 (自动)