簡體   English   中英

從遠程服務器選擇性地將mysql表數據備份到SQL文件中

[英]Backup mysql table data selectivly from remote server into SQL file

我需要做的是制作某些表數據的sql備份文件(“ Generate Insert Statements”)。 我想每月做一次。

選擇語句示例:

SELECT * FROM table WHERE date >= "01-01-2012" AND date < "01-02-2012"

情況是我需要從遠程SQL Server備份。 看來,我不能使用mysqldump然后(?)

那么,我是否只需要編寫一個PHP腳本來生成這些語句? 似乎有點野蠻的解決方案;)

抱歉,這件事看起來很基礎,但我已經對此感到相當困惑。

順便說一句 表是部分InnoDB和部分MyISAM

你問了一系列問題...

如果遠程計算機是unix,請編寫如下的bash腳本:

#!/bin/bash

/usr/bin/mysqldump -h db_server -u user_name -ppassword --WHERE 'date >= "01-01-2012" AND date < "01-02-2012"' database_name table_name | gzip > output.sql.gz

注意事項:

  1. 密碼在腳本中進行了硬編碼。 使用特權較少的用戶帳戶。
  2. 您的日期范圍也經過硬編碼,但這很容易就可以通用。
  3. -p和密碼之間沒有空格。

對於innodb,請使用--single-transaction。 對於myisam,我想您會堅持使用--lock-tables。

然后在cron作業中運行此腳本。

如果連接有問題,請檢查防火牆和mysql用戶權限。

而我的$ 0.02 ...編寫運行shell命令的php腳本確實很懶。 為此編寫外殼程序腳本。 你會睡得更好。

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM