~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/clients/drizzledump.rst

  • Committer: Lee Bieber
  • Date: 2011-01-08 01:57:02 UTC
  • mfrom: (1994.4.21 drizzle)
  • mto: This revision was merged to the branch mainline in revision 2063.
  • Revision ID: kalebral@gmail.com-20110108015702-d9mc4jwppb9vej94
Merge Marisa - latest doc updates, fix sphinx warnings

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
The :program:`drizzledump` tool has several available options:
31
31
 
32
32
.. option:: -A, --all-databases
33
 
   
34
 
   Dumps all databases found on the server apart from *information_schema* and
35
 
   *data_dictionary* in Drizzle and *information_schema*, *performance_schema*
36
 
   and *mysql* in MySQL.
 
33
 
 
34
Dumps all databases found on the server apart from *information_schema* and
 
35
*data_dictionary* in Drizzle and *information_schema*, *performance_schema*
 
36
and *mysql* in MySQL.
37
37
 
38
38
.. option:: -f, --force
39
39
 
40
 
   Continue even if we get an sql-error.
 
40
Continue even if we get an sql-error.
41
41
 
42
42
.. option:: -?, --help
43
43
 
44
 
   Show a message with all the available options.
 
44
Show a message with all the available options.
45
45
 
46
46
.. option:: -x, --lock-all-tables
47
47
 
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`.
 
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`.
51
51
 
52
52
.. option:: --single-transaction
53
53
 
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
57
 
   consistency::
58
 
 
59
 
      ALTER TABLE
60
 
      DROP TABLE
61
 
      RENAME TABLE
62
 
      TRUNCATE TABLE
63
 
 
64
 
   Only works with InnoDB.
 
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
 
57
consistency::
 
58
 
 
59
        ALTER TABLE
 
60
        DROP TABLE
 
61
        RENAME TABLE
 
62
        TRUNCATE TABLE
 
63
 
 
64
Only works with InnoDB.
65
65
 
66
66
.. option:: --skip-opt
67
67
 
68
 
   A shortcut for :option:`--skip-drop-table`, :option:`--skip-create`, 
69
 
   :option:`--skip-extended-insert` and :option:`--skip-disable-keys`
 
68
A shortcut for :option:`--skip-drop-table`, :option:`--skip-create`, 
 
69
:option:`--skip-extended-insert` and :option:`--skip-disable-keys`
70
70
 
71
71
.. option:: --tables t1 t2 ...
72
72
 
73
 
   Dump a list of tables.
 
73
Dump a list of tables.
74
74
 
75
75
.. option:: --show-progress-size rows (=10000)
76
76
 
77
 
   Show progress of the dump every *rows* of the dump.  Requires
78
 
   :option:`--verbose`
 
77
Show progress of the dump every *rows* of the dump.  Requires
 
78
:option:`--verbose`
79
79
 
80
80
.. option:: -v, --verbose
81
81
 
82
 
   Sends various verbose information to stderr as the dump progresses.
 
82
Sends various verbose information to stderr as the dump progresses.
83
83
 
84
84
.. option:: --skip-create
85
85
 
86
 
   Do not dump the CREATE TABLE / CREATE DATABASE statements.
 
86
Do not dump the CREATE TABLE / CREATE DATABASE statements.
87
87
 
88
88
.. option:: --skip-extended-insert
89
89
 
90
 
   Dump every row on an individual line.  For example::
 
90
Dump every row on an individual line.  For example::
91
91
 
92
 
     INSERT INTO `t1` VALUES (1,'hello');
93
 
     INSERT INTO `t1` VALUES (2,'world');
 
92
        INSERT INTO `t1` VALUES (1,'hello');
 
93
        INSERT INTO `t1` VALUES (2,'world');
94
94
 
95
95
.. option:: --skip-dump-date
96
96
 
97
 
   Do not display the date/time at the end of the dump.
 
97
Do not display the date/time at the end of the dump.
98
98
 
99
99
.. option:: --no-defaults
100
100
 
101
 
   Do not attempt to read configuration from configuration files.
 
101
Do not attempt to read configuration from configuration files.
102
102
 
103
103
.. option:: --add-drop-database
104
104
 
105
 
   Add `DROP DATABASE` statements before `CREATE DATABASE`.
 
105
Add `DROP DATABASE` statements before `CREATE DATABASE`.
106
106
 
107
107
.. option:: --compact
108
108
 
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`.
 
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`.
112
112
 
113
113
.. option:: -B, --databases
114
114
 
115
 
   Dump several databases.  The databases do not need to follow on after this
116
 
   option, they can be anywhere in the command line.
 
115
Dump several databases.  The databases do not need to follow on after this
 
116
option, they can be anywhere in the command line.
117
117
 
118
118
.. option:: -K, --skip-disable-keys
119
119
 
120
 
   Do not dump the statements `ALTER TABLE ... DISABLE KEYS` and
121
 
   `ALTER TABLE ... ENABLE KEYS`
 
120
Do not dump the statements `ALTER TABLE ... DISABLE KEYS` and
 
121
`ALTER TABLE ... ENABLE KEYS`
122
122
 
123
123
.. option:: --ignore-table table
124
124
 
125
 
   Do not dump specified table, needs to be in the format `database.table`.
126
 
   Can be specified multiple times for multiple tables.
 
125
Do not dump specified table, needs to be in the format `database.table`.
 
126
Can be specified multiple times for multiple tables.
127
127
 
128
128
.. option:: --insert-ignore
129
129
 
130
 
   Add the `IGNORE` keyword into every `INSERT` statement.
 
130
Add the `IGNORE` keyword into every `INSERT` statement.
131
131
 
132
132
.. option:: --no-autocommit
133
133
 
134
 
   Make the dump of each table a single transaction by wrapping it in `COMMIT`
135
 
   statements.
 
134
Make the dump of each table a single transaction by wrapping it in `COMMIT`
 
135
statements.
136
136
 
137
137
.. option:: -n, --no-create-db
138
138
 
139
 
   Do not dump the `CREATE DATABASE` statements when using
140
 
   :option:`--all-databases` or :option:`--databases`.
 
139
Do not dump the `CREATE DATABASE` statements when using
 
140
:option:`--all-databases` or :option:`--databases`.
141
141
 
142
142
.. option:: -t, --skip-create
143
 
   
144
 
   Do not dump the `CREATE TABLE` statements.
 
143
 
 
144
Do not dump the `CREATE TABLE` statements.
145
145
 
146
146
.. option:: -d, --no-data
147
147
 
148
 
   Do not dump the data itself, used to dump the schemas only.
 
148
Do not dump the data itself, used to dump the schemas only.
149
149
 
150
150
.. option:: --replace
151
151
 
152
 
   Use `REPLACE INTO` statements instead of `INSERT INTO`
 
152
Use `REPLACE INTO` statements instead of `INSERT INTO`
153
153
 
154
154
.. option:: --destination-type type (=stdout)
155
155
 
156
 
   Destination of the data.
157
 
 
158
 
   **stdout**
159
 
      The default.  Output to the command line
160
 
 
161
 
   **database**
162
 
      Connect to another database and pipe data to that.
163
 
 
164
 
   .. versionadded:: 2010-09-27
 
156
Destination of the data.
 
157
 
 
158
**stdout**
 
159
The default.  Output to the command line
 
160
 
 
161
**database**
 
162
Connect to another database and pipe data to that.
 
163
 
 
164
.. versionadded:: 2010-09-27
165
165
 
166
166
.. option:: --destination-host hostname (=localhost)
167
167
 
168
 
   The hostname for the destination database.  Requires
169
 
   :option:`--destination-type` `= database`
 
168
The hostname for the destination database.  Requires
 
169
:option:`--destination-type` `= database`
170
170
 
171
 
   .. versionadded:: 2010-09-27
 
171
.. versionadded:: 2010-09-27
172
172
 
173
173
.. option:: --destination-port port (=3306)
174
174
 
175
 
   The port number for the destination database.  Requires
176
 
   :option:`--destination-type` `= database`
 
175
The port number for the destination database.  Requires
 
176
:option:`--destination-type` `= database`
177
177
 
178
 
  .. versionadded:: 2010-09-27
 
178
.. versionadded:: 2010-09-27
179
179
 
180
180
.. option:: --destination-user username
181
181
 
182
 
   The username for the destinations database.  Requires
183
 
   :option:`--destination-type` `= database`
 
182
The username for the destinations database.  Requires
 
183
:option:`--destination-type` `= database`
184
184
 
185
 
  .. versionadded:: 2010-09-27
 
185
.. versionadded:: 2010-09-27
186
186
 
187
187
.. option:: --destination-password password
188
188
 
189
 
   The password for the destination database.  Requires
190
 
   :option:`--destination-type` `= database`
 
189
The password for the destination database.  Requires
 
190
:option:`--destination-type` `= database`
191
191
 
192
 
  .. versionadded:: 2010-09-27
 
192
.. versionadded:: 2010-09-27
193
193
 
194
194
.. option:: --destination-database database
195
195
 
196
 
   The database for the destination database, for use when only dumping a
197
 
   single database.  Requires
198
 
   :option:`--destination-type` `= database`
 
196
The database for the destination database, for use when only dumping a
 
197
single database.  Requires
 
198
:option:`--destination-type` `= database`
199
199
 
200
 
  .. versionadded:: 2010-09-27
 
200
.. versionadded:: 2010-09-27
201
201
 
202
202
.. option:: -h, --host hostname (=localhost)
203
203
 
204
 
   The hostname of the database server.
 
204
The hostname of the database server.
205
205
 
206
206
.. option:: -u, --user username
207
207
 
208
 
   The username for the database server.
 
208
The username for the database server.
209
209
 
210
210
.. option:: -P, --password password
211
211
 
212
 
   The password for the database server.
 
212
The password for the database server.
213
213
 
214
214
.. option:: -p, --port port (=3306,4427)
215
215
 
216
 
   The port number of the database server.  Defaults to 3306 for MySQL protocol
217
 
   and 4427 for Drizzle protocol.
 
216
The port number of the database server.  Defaults to 3306 for MySQL protocol
 
217
and 4427 for Drizzle protocol.
218
218
 
219
219
.. option:: --protocol protocol (=mysql)
220
220
 
221
 
   The protocol to use when connecting to the database server.  Options are:
222
 
 
223
 
   **mysql**
224
 
      The standard MySQL protocol.
225
 
 
226
 
   **drizzle**
227
 
      The Drizzle protocol.
 
221
The protocol to use when connecting to the database server.  Options are:
 
222
 
 
223
**mysql**
 
224
The standard MySQL protocol.
 
225
 
 
226
**drizzle**
 
227
The Drizzle protocol.
228
228
 
229
229
Backups using Drizzledump
230
230
-------------------------
231
231
 
232
232
Backups of a database can be made very simply by running the following::
233
233
 
234
 
     $ drizzledump --all-databases > dumpfile.sql
 
234
$ drizzledump --all-databases > dumpfile.sql
235
235
 
236
236
This can then be re-imported into drizzle at a later date using::
237
237
 
238
 
     $ drizzle < dumpfile.sql
 
238
$ drizzle < dumpfile.sql
239
239
 
240
240
MySQL Migration using Drizzledump
241
241
---------------------------------
251
251
So, simply connecting to a MySQL server with :program:`drizzledump` as follows
252
252
will give you a Drizzle compatible output::
253
253
 
254
 
     $ drizzledump --all-databases --host=mysql-host --user=mysql-user --password > dumpfile.sql
 
254
$ drizzledump --all-databases --host=mysql-host --user=mysql-user --password > dumpfile.sql
255
255
 
256
256
Additionally :program:`drizzledump` can now dump from MySQL and import directly
257
257
into a Drizzle server as follows::
258
258
 
259
 
     $ drizzledump --all-databases --host=mysql-host --user=mysql-user --password --destination-type=database --desination-host=drizzle-host
 
259
$ drizzledump --all-databases --host=mysql-host --user=mysql-user --password --destination-type=database --desination-host=drizzle-host
260
260
 
261
261
When you migrate from MySQL to Drizzle, the following conversions are required:
262
262
 
275
275
time -> int (of seconds)
276
276
year -> int
277
277
set -> text
278
 
date/datetime default 0000-00-00 -> default NULL *(Currently, ALL date columns have their DEFAULT set to NULL on migration)
 
278
date/datetime default 0000-00-00 -> default NULL (Currently, ALL date columns have their DEFAULT set to NULL on migration)
279
279
date/datetime NOT NULL columns -> NULL
280
280
any date data containing 0000-00-00 -> NULL
281
281
enum-> DEFAULT NULL
 
 
b'\\ No newline at end of file'