mySQL daily backup from one table to another

后端 未结 2 1175
有刺的猬
有刺的猬 2021-01-28 16:10

If I have 2 tables with the same definition, how would I backup data from it daily? Can I use mySQL Administrator to perform something like this

  • At 12:00am everyda
相关标签:
2条回答
  • Yes, you can definitely do that. Have a look at this page: http://dev.mysql.com/doc/refman/5.0/en/batch-mode.html

    If you write your script carefully, so that you are not dropping the table and just inserting the new rows you need not worry about losing the data. If you are having a timestamp stored for each row in the table, that makes things a lot easier. You can use the timestamp to load/update the new rows which have been changed or added since the last batch run.

    However, its always a best practice to make a backup of the current table before you do the insertion. You can cleanup the backup tables, if the import is successful.

    0 讨论(0)
  • 2021-01-28 17:05

    Let's start with this: Copying data from one table to another on the same server IS NOT a backup.

    Now, if you have MySQL 5.1.6 or newer, you can use event scheduler, to schedule such actions.

    http://dev.mysql.com/doc/refman/5.1/en/events.html

    It should be as simple as running a query like this

    INSERT INTO 
      secondarydatabase.tableName
    SELECT pr.* FROM
      primarydatabase.tableName AS pr
    LEFT JOIN
      secondarydatabase.tableName AS sec
    USING(primaryKeyColumn)
    WHERE sec.primaryKeyColumn IS NULL
    

    (this will copy any new rows, changes in already existing rows will not be copied over)

    As far as actual backups go, please read this:

    http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html

    0 讨论(0)
提交回复
热议问题