NAME

narada-mysqldump - dump project database

VERSION

This document describes narada-mysqldump version v2.3.8

USAGE

narada-mysqldump

DESCRIPTION

Should be executed in project deploy directory (or Narada 1.x project root directory).

Backup your Narada project's MySQL database.

If "config/mysql/db" absent or empty do nothing.

Dump database as quickly as possible to files "var/mysql/*.sql":

  • Tables listed in "config/mysql/dump/ignore" doesn't included in dump (even in database scheme).

  • Database scheme saved in "var/mysql/db.scheme.sql".

  • Content for tables listed in "config/mysql/dump/empty" doesn't dumped.

  • Content for tables listed in "config/mysql/dump/incremental" saved in "var/mysql/TABLE_NAME.FROM-TO.sql".

    • Only new rows will be saved, which is absent in already existing files.

  • Content for other tables saved in "var/mysql/TABLE_NAME.sql".

    • If table wasn't changed since previous dump - do nothing and just keep file with previous dump.

  • All other "*.sql" files will be removed from "var/mysql/".

To force full dump (including incremental and unchanged tables) run "rm var/mysql/*.sql" before "narada-mysqldump".

Will set exclusive lock on this project while doing database analyse and dumping database scheme and non-incremental tables. Incremental tables will be dumped after releasing lock.

Will set dump file's mtime to Update_time of related database table, and use mtime on next dump to detect table change.

All incremental tables MUST have first column's type "INT AUTO_INCREMENT PRIMARY KEY" (can also use "MEDIUMINT", etc.).

After ALTER incremental table or doing TRUNCATE existing files with incremental dumps will be automatically removed and replaced by new ones.

Tables listed in "config/mysql/dump/empty" and "config/mysql/dump/incremental" must exists; listed in "config/mysql/dump/ignore" may not exists.

CONFIGURATION AND ENVIRONMENT

config/mysql/db
config/mysql/login
config/mysql/pass
config/mysql/host
config/mysql/port
config/mysql/dump/incremental
config/mysql/dump/empty
config/mysql/dump/ignore
var/mysql/db.scheme.sql
var/mysql/*.sql

Narada 1.x project use config/db/ instead of config/mysql/, and var/sql/ instead of var/mysql/.

SUPPORT

Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at https://github.com/powerman/Narada/issues. You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license. Feel free to fork the repository and submit pull requests.

https://github.com/powerman/Narada

git clone https://github.com/powerman/Narada.git

Resources

AUTHOR

Alex Efros <powerman@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2008- by Alex Efros <powerman@cpan.org>.

This is free software, licensed under:

The MIT (X11) License