30
30
The :program:`drizzledump` tool has several available options:
32
32
.. option:: -A, --all-databases
34
Dumps all databases found on the server apart from *information_schema* and
35
*data_dictionary* in Drizzle and *information_schema*, *performance_schema*
34
Dumps all databases found on the server apart from *information_schema* and
35
*data_dictionary* in Drizzle and *information_schema*, *performance_schema*
38
.. option:: -c, --complete-insert
40
Dumps using complete insert statements. *CURRENTLY BROKEN*
42
.. option:: -C, --compress
44
Use client/server compression protocol.
46
.. option:: -F, --flush-logs
48
Flush the server logs before commencing with the dump. *CURRENTLY_BROKEN*
38
50
.. option:: -f, --force
40
Continue even if we get an sql-error.
52
Continue even if we get an sql-error. *CURRENTLY_BROKEN*
42
54
.. option:: -?, --help
44
Show a message with all the available options.
56
Show a message with all the available options.
46
58
.. option:: -x, --lock-all-tables
48
Locks all the tables for all databases with a global read lock. The lock is
49
released automatically when :program:`drizzledump` ends.
50
Turns on :option:`--single-transaction` and :option:`--lock-tables`.
60
Locks all the tables for all databases with a global read lock. The lock is
61
released automatically when :program:`drizzledump` ends.
62
Turns on :option:`--single-transaction` and :option:`--lock-tables`.
52
64
.. option:: --single-transaction
54
Creates a consistent snapshot by dumping the tables in a single transaction.
55
During the snapshot no other connected client should use any of the
56
following as this will implicitly commit the transaction and prevent the
64
Only works with InnoDB.
66
.. option:: --skip-opt
68
A shortcut for :option:`--skip-drop-table`, :option:`--skip-create`,
69
:option:`--skip-extended-insert` and :option:`--skip-disable-keys`
66
Creates a consistent snapshot by dumping the tables in a single transaction.
67
During the snapshot no other connected client should use any of the
68
following as this will implicitly commit the transaction and prevent the
76
Only works with InnoDB. Automatically disables :option:`--lock-tables`.
78
.. option:: --disable-opt
80
A shortcut for :option:`--skip-drop-table`, :option:`--skip-locks`,
81
:option:`--skip-create`, :option:`--slow`, :option:`--skip-extended-insert`
82
and :option:`--skip-disable-keys`
71
84
.. option:: --tables t1 t2 ...
73
Dump a list of tables.
86
Dump a list of tables.
75
88
.. option:: --show-progress-size rows (=10000)
77
Show progress of the dump every *rows* of the dump. Requires
90
Show progress of the dump every *rows* of the dump. Requires
80
93
.. option:: -v, --verbose
82
Sends various verbose information to stderr as the dump progresses.
95
Sends various verbose information to stderr as the dump progresses.
84
97
.. option:: --skip-create
86
Do not dump the CREATE TABLE / CREATE DATABASE statements.
99
Do not dump the CREATE TABLE / CREATE DATABASE statements.
88
101
.. option:: --skip-extended-insert
90
Dump every row on an individual line. For example::
103
Dump every row on an individual line. For example::
92
INSERT INTO `t1` VALUES (1,'hello');
93
INSERT INTO `t1` VALUES (2,'world');
105
INSERT INTO `t1` VALUES (1,'hello');
106
INSERT INTO `t1` VALUES (2,'world');
95
108
.. option:: --skip-dump-date
97
Do not display the date/time at the end of the dump.
110
Do not display the date/time at the end of the dump.
99
112
.. option:: --no-defaults
101
Do not attempt to read configuration from configuration files.
114
Do not attempt to read configuration from configuration files.
103
116
.. option:: --add-drop-database
105
Add `DROP DATABASE` statements before `CREATE DATABASE`.
118
Add `DROP DATABASE` statements before `CREATE DATABASE`.
107
120
.. option:: --compact
109
Gives a more compact output by disabling header/footer comments and enabling
110
:option:`--skip-add-drop-table`, :option:`--skip-disable-keys`
111
and :option:`--skip-add-locks`.
122
Gives a more compact output by disabling header/footer comments and enabling
123
:option:`--skip-add-drop-table`, :option:`--no-set-names`,
124
:option:`--skip-disable-keys` and :option:`--skip-add-locks`.
113
126
.. option:: -B, --databases
115
Dump several databases. The databases do not need to follow on after this
116
option, they can be anywhere in the command line.
118
.. option:: -K, --skip-disable-keys
120
Do not dump the statements `ALTER TABLE ... DISABLE KEYS` and
121
`ALTER TABLE ... ENABLE KEYS`
123
.. option:: --ignore-table table
125
Do not dump specified table, needs to be in the format `database.table`.
126
Can be specified multiple times for multiple tables.
128
Dump several databases. The databases do not need to follow on after this
129
option, they can be anywhere in the command line.
128
131
.. option:: --insert-ignore
130
Add the `IGNORE` keyword into every `INSERT` statement.
133
Add the `IGNORE` keyword into every `INSERT` statement.
132
135
.. option:: --no-autocommit
134
Make the dump of each table a single transaction by wrapping it in `COMMIT`
137
Make the dump of each table a single transaction by wrapping it in `COMMIT`
137
140
.. option:: -n, --no-create-db
139
Do not dump the `CREATE DATABASE` statements when using
140
:option:`--all-databases` or :option:`--databases`.
142
.. option:: -t, --skip-create
144
Do not dump the `CREATE TABLE` statements.
142
Do not output the `CREATE DATABASE` statements when using
143
:option:`--all-databases` or :option:`--databases`.
146
145
.. option:: -d, --no-data
148
Do not dump the data itself, used to dump the schemas only.
147
Do not dump the data itself, used to dump the schemas only.
151
Dump directly from database to destination rather than using a query buffer.
150
153
.. option:: --replace
152
Use `REPLACE INTO` statements instead of `INSERT INTO`
155
Use `REPLACE INTO` statements instead of `INSERT INTO`
154
157
.. option:: --destination-type type (=stdout)
156
Destination of the data.
159
The default. Output to the command line
162
Connect to another database and pipe data to that.
164
.. versionadded:: 2010-09-27
159
Destination of the data.
162
The default. Output to the command line
165
Connect to another database and pipe data to that.
167
.. versionadded:: 2010-09-27
166
169
.. option:: --destination-host hostname (=localhost)
168
The hostname for the destination database. Requires
169
:option:`--destination-type` `= database`
171
The hostname for the destination database. Requires
172
:option:`--destination-type` `= database`
171
.. versionadded:: 2010-09-27
174
.. versionadded:: 2010-09-27
173
176
.. option:: --destination-port port (=3306)
175
The port number for the destination database. Requires
176
:option:`--destination-type` `= database`
178
The port number for the destination database. Requires
179
:option:`--destination-type` `= database`
178
.. versionadded:: 2010-09-27
181
.. versionadded:: 2010-09-27
180
183
.. option:: --destination-user username
182
The username for the destinations database. Requires
183
:option:`--destination-type` `= database`
185
The username for the destinations database. Requires
186
:option:`--destination-type` `= database`
185
.. versionadded:: 2010-09-27
188
.. versionadded:: 2010-09-27
187
190
.. option:: --destination-password password
189
The password for the destination database. Requires
190
:option:`--destination-type` `= database`
192
The password for the destination database. Requires
193
:option:`--destination-type` `= database`
192
.. versionadded:: 2010-09-27
195
.. versionadded:: 2010-09-27
194
197
.. option:: --destination-database database
196
The database for the destination database, for use when only dumping a
197
single database. Requires
198
:option:`--destination-type` `= database`
200
.. versionadded:: 2010-09-27
202
.. option:: --my-data-is-mangled
204
If your data is UTF8 but has been stored in a latin1 table using a latin1
205
connection then corruption is likely and drizzledump by default will retrieve
206
mangled data. This is because MySQL will convert the data to UTF8 on the way
207
out to drizzledump and you effectively get a double-conversion to UTF8.
209
This typically happens with PHP apps that do not use 'SET NAMES'.
211
In these cases setting this option will retrieve the data as you see it in your
214
.. versionadded:: 2011-01-31
199
The database for the destination database, for use when only dumping a
200
single database. Requires
201
:option:`--destination-type` `= database`
203
.. versionadded:: 2010-09-27
216
205
.. option:: -h, --host hostname (=localhost)
218
The hostname of the database server.
207
The hostname of the database server.
220
209
.. option:: -u, --user username
222
The username for the database server.
211
The username for the database server.
224
213
.. option:: -P, --password password
226
The password for the database server.
215
The password for the database server.
228
217
.. option:: -p, --port port (=3306,4427)
230
The port number of the database server. Defaults to 3306 for MySQL protocol
231
and 4427 for Drizzle protocol.
219
The port number of the database server. Defaults to 3306 for MySQL protocol
220
and 4427 for Drizzle protocol.
233
222
.. option:: --protocol protocol (=mysql)
235
The protocol to use when connecting to the database server. Options are:
238
The standard MySQL protocol.
241
The Drizzle protocol.
224
The protocol to use when connecting to the database server. Options are:
227
The standard MySQL protocol.
230
The Drizzle protocol.
243
232
Backups using Drizzledump
244
233
-------------------------
246
235
Backups of a database can be made very simply by running the following::
248
$ drizzledump --all-databases > dumpfile.sql
237
$ drizzledump --all-databases > dumpfile.sql
250
239
This can then be re-imported into drizzle at a later date using::
252
$ drizzle < dumpfile.sql
241
$ drizzle < dumpfile.sql
254
243
MySQL Migration using Drizzledump
255
244
---------------------------------