Merge lp:~hrvojem/percona-xtrabackup/prlcmpr-2.0 into lp:percona-xtrabackup/2.0

Proposed by Hrvoje Matijakovic on 2012-02-20
Status: Merged
Approved by: Alexey Kopytov on 2012-02-28
Approved revision: 397
Merged at revision: 398
Proposed branch: lp:~hrvojem/percona-xtrabackup/prlcmpr-2.0
Merge into: lp:percona-xtrabackup/2.0
Diff against target: 263 lines (+69/-133)
3 files modified
doc/source/intro.rst (+49/-121)
doc/source/release-notes/2.0/1.9.1.rst (+12/-12)
doc/source/xtrabackup_bin/xbk_option_reference.rst (+8/-0)
To merge this branch: bzr merge lp:~hrvojem/percona-xtrabackup/prlcmpr-2.0
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) 2012-02-20 Approve on 2012-02-28
Review via email: mp+93808@code.launchpad.net
To post a comment you must log in.
Alexey Kopytov (akopytov) wrote :

Hrvoje,

> + * |xtrabackup| was using MySQL's datadir as it's target-dir. Target directory is now a required option. Bug fixed :bug:`489290` (*Sergei Glushchenko*).

No, that bug was fixed in a different way. Target directory now defaults to the current directory, rather than MySQL's datadir.

> + * |xtrabackup| function didn't work with parallel backups. Bug fixed: :bug:`826632` (*Alexey Kopytov*).

You meant to say incremental backups didn't work with the --parallel option?

Otherwise the MP looks good.

review: Needs Fixing
Alexey Kopytov (akopytov) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'doc/source/intro.rst'
2--- doc/source/intro.rst 2011-07-07 05:32:50 +0000
3+++ doc/source/intro.rst 2012-02-28 10:44:18 +0000
4@@ -24,118 +24,46 @@
5 MySQL Backup Tool Feature Comparison
6 ====================================
7
8-.. raw:: html
9-
10- <table class="datatable" style="text-align: center;">
11- <tbody style="text-align: center;"><tr><th class="label">Feature</th><th>Percona XtraBackup</th><th>MySQL Enterprise Backup<br>(InnoDB Hot Backup)</th></tr>
12- <tr><td class="label">License</td><td style="text-align: center;">GPL</td><td style="text-align: center;">Proprietary</td></tr>
13- <tr><td class="label">Price</td><td style="text-align: center;">Free</td><td style="text-align: center;"><a href="http://www.mysql.com/products/">$5000 per server</a></td></tr>
14- <tr><td class="label">Open source</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
15- <tr><td class="label">Non-blocking</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
16- <tr><td class="label">InnoDB backups</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
17- <tr><td class="label">MyISAM backups <sup><a href="#note-1">1</a></sup></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
18- <tr><td class="label">Compressed backups</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
19- <tr><td class="label">Partial backups</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
20- <tr><td class="label">Throttling <sup><a href="#note-2">2</a></sup></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
21- <tr><td class="label">Point-in-time recovery support</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
22- <tr><td class="label">Incremental backups</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td></tr>
23- <tr><td class="label">Parallel backups</sup></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
24- <tr><td class="label">Streaming backups</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
25- <tr><td class="label">OS buffer optimizations <sup><a href="#note-3">3</a></sup></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
26- <tr><td class="label">Export individual tables</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
27- <tr><td class="label">Restore tables to a different server</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
28- <tr><td class="label">Analyze data &amp; index files</td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
29- <tr><td class="label">Familiar command-line behavior <sup><a href="#note-4">4</a></sup></td><td style="text-align: center;"><img width="24" height="24" alt="Yes" src="http://s0.percona.com/check-yes.png"></td><td></td></tr>
30- </tbody></table>
31-
32-
33-.. .. tabularcolumns:: |l|c|c|
34-
35-
36-.. .. list-table:: MySQL Backup Tool Feature Comparison
37-.. :header-rows: 1
38-
39-.. * - Feature
40-.. - Percona XtraBackup
41-.. - MySQL Enterprise Backup (InnoDB Hot Backup)
42-.. * - License
43-.. - GPL
44-.. - Proprietary
45-.. * - Price
46-.. - Free
47-.. - $5000 per server
48-.. * - Open source
49-.. - |yes|
50-.. -
51-.. * - Non-blocking
52-.. - |yes|
53-.. - |yes|
54-.. * - InnoDB backups
55-.. - |yes|
56-.. - |yes|
57-.. * - MyISAM backups [#f1]_
58-.. - |yes|
59-.. - |yes|
60-.. * - Compressed backups
61-.. - |yes|
62-.. - |yes|
63-.. * - Partial backups
64-.. - |yes|
65-.. - |yes|
66-.. * - Throttling [#f2]_
67-.. - |yes|
68-.. - |yes|
69-.. * - Point-in-time recovery support
70-.. - |yes|
71-.. - |yes|
72-.. * - Incremental backups
73-.. - |yes|
74-.. - |yes|
75-.. * - Parallel backups [#f3]_
76-.. - |yes|
77-.. -
78-.. * - Streaming backups
79-.. - |yes|
80-.. -
81-.. * - OS buffer optimizations [#f4]_
82-.. - |yes|
83-.. -
84-.. * - Export individual tables
85-.. - |yes|
86-.. -
87-.. * - Restore tables to a different server
88-.. - |yes|
89-.. -
90-.. * - Analyze data & index files
91-.. - |yes|
92-.. -
93-.. * - Familiar command-line behavior [#f5]_
94-.. - |yes|
95-.. -
96-
97-.. .. |yes| image:: check-yes.png
98-
99-.. License GPL Proprietary
100-.. Price Free $5000 per server
101-.. Open source Yes
102-.. Non-blocking Yes Yes
103-.. InnoDB backups Yes Yes
104-.. MyISAM backups [#f1]_ Yes Yes
105-.. Compressed backups Yes Yes
106-.. Partial backups Yes Yes
107-.. Throttling [#f2]_ Yes Yes
108-.. Point-in-time recovery support Yes Yes
109-.. Incremental backups Yes Yes
110-.. Parallel backups [#f3]_ Yes
111-.. Streaming backups Yes
112-.. OS buffer optimizations [#f4]_ Yes
113-.. Export individual tables Yes
114-.. Restore tables to a different server Yes
115-.. Analyze data & index files Yes
116-.. Familiar command-line behavior [#f5]_ Yes
117-.. ======================================== =================== =========================
118-
119-The above comparison is based on XtraBackup version 1.4 and MySQL Enterprise Backup version 3.5 on December 7, 2010.
120++---------------------------------------+----------------------+-----------------------+
121+|Features |Percona XtraBackup |MySQL Enterprise Backup|
122+| | |(InnoDB Hot Backup) |
123++=======================================+======================+=======================+
124+|License | GPL | Proprietary |
125++---------------------------------------+----------------------+-----------------------+
126+|Price | Free | $5000 per server |
127++---------------------------------------+----------------------+-----------------------+
128+|Open source | Yes | |
129++---------------------------------------+----------------------+-----------------------+
130+|Non-blocking [#n-1]_ | Yes | Yes |
131++---------------------------------------+----------------------+-----------------------+
132+|InnoDB backups | Yes | Yes |
133++---------------------------------------+----------------------+-----------------------+
134+|MyISAM backups | Yes | Yes |
135++---------------------------------------+----------------------+-----------------------+
136+|Compressed backups | Yes | Yes |
137++---------------------------------------+----------------------+-----------------------+
138+|Partial backups | Yes | Yes |
139++---------------------------------------+----------------------+-----------------------+
140+|Throttling [#n-2]_ | Yes | Yes |
141++---------------------------------------+----------------------+-----------------------+
142+|Point-in-time recovery support | Yes | Yes |
143++---------------------------------------+----------------------+-----------------------+
144+|Incremental backups | Yes | Yes |
145++---------------------------------------+----------------------+-----------------------+
146+|Parallel backups | Yes | |
147++---------------------------------------+----------------------+-----------------------+
148+|Streaming backups | Yes | |
149++---------------------------------------+----------------------+-----------------------+
150+|OS buffer optimizations [#n-3]_ | Yes | |
151++---------------------------------------+----------------------+-----------------------+
152+|Export individual tables | Yes | |
153++---------------------------------------+----------------------+-----------------------+
154+|Restore tables to a different server | Yes | |
155++---------------------------------------+----------------------+-----------------------+
156+|Analyze data & index files | Yes | |
157++---------------------------------------+----------------------+-----------------------+
158+|Familiar command-line behavior [#n-4]_ | Yes | |
159++---------------------------------------+----------------------+-----------------------+
160
161
162 What are the features of Percona XtraBackup?
163@@ -143,10 +71,10 @@
164
165 Here is a short list of |XtraBackup| features. See the documentation for more.
166
167-* Ceate hot |InnoDB| backups without pausing your database
168+* Create hot |InnoDB| backups without pausing your database
169 * Make incremental backups of |MySQL|
170 * Stream compressed |MySQL| backups to another server
171-* Move tables between |MySQL| servers online
172+* Move tables between |MySQL| servers on-line
173 * Create new |MySQL| replication slaves easily
174 * Backup |MySQL| without adding load to the server
175
176@@ -154,12 +82,12 @@
177
178 .. rubric:: Footnotes
179
180-.. [#note-1] |MyISAM| backups require a table lock.
181-
182-.. [#note-2] |XtraBackup| performs throttling based on the number of IO operations per second. *MySQL Enterprise Backup* supports a configurable sleep time between operations.
183-
184-.. [#note-3] |XtraBackup| tunes the operating system buffers to avoid swapping. See the documentation.
185-
186-.. [#note-4] |XtraBackup| is linked against the |MySQL| client libraries, so it behaves the same as standard |MySQL| command-line programs. *MySQL Enterprise Backup* has its own command-line and configuration-file behaviors.
187+.. [#n-1] |MyISAM| backups require a table lock.
188+
189+.. [#n-2] |XtraBackup| performs throttling based on the number of IO operations per second. *MySQL Enterprise Backup* supports a configurable sleep time between operations.
190+
191+.. [#n-3] |XtraBackup| tunes the operating system buffers to avoid swapping. See the documentation.
192+
193+.. [#n-4] |XtraBackup| is linked against the |MySQL| client libraries, so it behaves the same as standard |MySQL| command-line programs. *MySQL Enterprise Backup* has its own command-line and configuration-file behaviors.
194
195
196
197=== modified file 'doc/source/release-notes/2.0/1.9.1.rst'
198--- doc/source/release-notes/2.0/1.9.1.rst 2012-02-21 00:01:30 +0000
199+++ doc/source/release-notes/2.0/1.9.1.rst 2012-02-28 10:44:18 +0000
200@@ -13,12 +13,12 @@
201 New features
202 ------------
203
204+ * |Xtrabackup| now supports compressed backups. These backups can be done in a parallel way, thus utilizing multiple CPU cores if needed. In previous versions, compression was only possible with streaming backups + external (usually single-threaded) compression utilities, which also had a number of other limitations (e.g. could not be used with parallel file copying, it was required to uncompress the entire backup to restore a single table) (*Alexey Kopytov*).
205+
206 * |Percona| |XtraBackup| now supports streaming incremental backups. In previous versions streaming backups were performed by the innobackupex script but incremental backups were done by the xtrabackup binary which calculated deltas by scanning data files. Which meant those two feature were mutually exclusive, i.e. one couldn't do streaming incremental backups (*Alexey Kopytov*).
207
208 * As part of the backup, the LRU dump is now included as well (*Sergei Glushchenko*).
209
210- * Parallel compression has been added. This can now be used together with parallel file copying (*Alexey Kopytov*).
211-
212 Bugs Fixed
213 ----------
214
215@@ -26,19 +26,19 @@
216
217 * When preparing an incremental backups, |innobackupex| should copy all non-InnoDB files (including .frm files and non-InnoDB tables) to the full backup directory. Otherwise, any changes to .frm and/or non-InnoDB tables made between full and incremental backups lead to unusable backups. Bug fixed: :bug:`759701` (*Alexey Kopytov*).
218
219- * |xtrabackup| was using to MySQL's datadir as it's target-dir. Target directory is now a required option. Bug fixed :bug:`489290` (*Sergei Glushchenko*).
220-
221- * When using parallel backup option in |xtrabackup|, backups would fail with "Operating system error number 17". Bug fixed: :bug:`900175` (*Alexey Kopytov*).
222-
223- * Regression from 2.0 branch caused "error: log block numbers mismatch". Bug fixed: :bug:`917823`.
224-
225- * |xtrabackup| function used a global buffer to store incremental page deltas. That didn't work with parallel backups. Bug fixed: :bug:`826632` (*Alexey Kopytov*).
226-
227- * Files xtrabackup_checkpoints and xtrabackup_suspended should be kept in tmpdir, since user running innobackupex may not have permissions to write mysql datadir. Bug fixed: :bug:`691090` (*Sergei Glushchenko*).
228+ * |xtrabackup| was using MySQL's datadir as it's target-dir. Target directory now defaults to the current directory, rather than MySQL's datadir. Bug fixed :bug:`489290` (*Sergei Glushchenko*).
229+
230+ * When using parallel backup option in |xtrabackup|, backups could fail with "Operating system error number 17". Bug fixed: :bug:`900175` (*Alexey Kopytov*).
231+
232+ * Regression in 2.0 branch caused "error: log block numbers mismatch". Bug fixed: :bug:`917823` (*Alexey Kopytov*).
233+
234+ * |xtrabackup| incremental backups didn't work with --parallel backups option. Bug fixed: :bug:`826632` (*Alexey Kopytov*).
235+
236+ * |innobackupx| when used for streaming backups, stored some of the files in the server's datadir, thus requiring write access to it. The fix is that it now uses tmpdir instead for streaming backups. For local ones, the backup target directory is used as before. Bug fixed: :bug:`691090` (*Sergei Glushchenko*).
237
238 * Unintentional change of innodb_version format in 5.1.60. caused fatal error in |xtrabackup|. Regexps used to detect innodb_version were updated. Bug fixed: :bug:`910206` (*Alexey Kopytov*).
239
240- * When using --remote-host to a non-standard SSH port, the |xtrabackup| wasn't passing the correct port to both ssh and scp, which use different options for port number (-p vs -P). Bug fixed: :bug:`733658` (*Sergei Glushchenko*).
241+ * When using --remote-host to a non-standard SSH port, the |xtrabackup| wasn't passing the correct port to both ssh and scp, which use different options for port number (-p vs -P). It's now possible to pass custom SSH options to innobackupex, such as a non-standard port, with the --sshopt option. Bug fixed: :bug:`733658` (*Sergei Glushchenko*).
242
243 * While running an incremental backup through innobackupex, you could get an error when the script was attempting to copy all the MYI/MYD/...etc files if a table was removed during the process of copying each file. Bug fixed: :bug:`924026` (*Lachlan Mulcahy*).
244
245
246=== modified file 'doc/source/xtrabackup_bin/xbk_option_reference.rst'
247--- doc/source/xtrabackup_bin/xbk_option_reference.rst 2012-02-13 12:07:03 +0000
248+++ doc/source/xtrabackup_bin/xbk_option_reference.rst 2012-02-28 10:44:18 +0000
249@@ -33,6 +33,14 @@
250
251 Make a backup and place it in :option:`--target-dir`. See :doc:`Creating a backup <creating_a_backup>`.
252
253+.. option:: --compress
254+
255+ This option tells |xtrabackup| to compress all output data, including the transaction log file and meta data files, using the specified compression algorithm. The only currently supported algorithm is 'quicklz'. The resulting files have the qpress archive format, i.e. every `*.qp` file produced by xtrabackup is essentially a one-file qpress archive and can be extracted and uncompressed by the `qpress <http://www.quicklz.com/>`_ file archiver.
256+
257+.. option:: --compress-threads
258+
259+ This option specifies the number of worker threads used by |xtrabackup| for parallel data compression. This option defaults to 1. Parallel compression ('--compress-threads') can be used together with parallel file copying ('--parallel'). For example, '--parallel=4 --compress --compress-threads=2' will create 4 IO threads that will read the data and pipe it to 2 compression threads. New algorithms (gzip, bzip2, etc.) may be added later with minor efforts.
260+
261 .. option:: --create-ib-logfile
262
263 This option is not currently implemented. To create the InnoDB log files, you must prepare the backup twice at present.

Subscribers

People subscribed via source and target branches