Por defecto, mysqldump
toma la copia de seguridad de una base de datos completa. Necesito hacer una copia de seguridad de una sola tabla en MySQL. ¿Es posible? ¿Cómo lo restauro?
Por defecto, mysqldump
toma la copia de seguridad de una base de datos completa. Necesito hacer una copia de seguridad de una sola tabla en MySQL. ¿Es posible? ¿Cómo lo restauro?
Respuestas:
Tugurio
mysqldump db_name table_name > table_name.sql
Volcado de una base de datos remota
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
Para mayor referencia:
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
Restaurar
mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql
o en una línea
mysql -u username -p db_name < /path/to/table_name.sql
Crédito: John McGrath
Tugurio
mysqldump db_name table_name | gzip > table_name.sql.gz
Restaurar
gunzip < table_name.sql.gz | mysql -u username -p db_name
tratar
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
Podemos hacer un volcado de mysql de cualquier tabla en particular con cualquier condición dada como a continuación
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
Si queremos agregar una condición where específica en la tabla, entonces podemos usar el siguiente comando
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
Puede usar fácilmente para volcar las tablas seleccionadas usando MYSQLWorkbench tool
, individualmente o en grupo de tablas en un solo volcado y luego importarlo de la siguiente manera: también puede agregar información de host si la está ejecutando en su local agregando -h IP.ADDRESS.NUMBER después de u nombre de usuario
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
Puedes usar este código:
Este ejemplo toma una copia de seguridad de la base de datos sugarcrm y volca la salida a sugarcrm.sql
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
Sugarcrm.sql contendrá la tabla desplegable, creará la tabla e insertará el comando para todas las tablas en la base de datos sugarcrm. A continuación se muestra una salida parcial de sugarcrm.sql, que muestra la información de volcado de la tabla accounts_contacts:
-
accounts_contacts
DROP TABLE IF EXISTS `accounts_contacts`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `accounts_contacts` (
`id` varchar(36) NOT NULL,
`contact_id` varchar(36) default NULL,
`account_id` varchar(36) default NULL,
`date_modified` datetime default NULL,
`deleted` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `idx_account_contact` (`account_id`,`contact_id`),
KEY `idx_contid_del_accid` (`contact_id`,`deleted`,`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;
--
Puede usar mysqldump
desde la línea de comandos:
mysqldump -u username -p password dbname tablename > "path where you want to dump"
También puede usar MySQL Workbench:
Vaya a la izquierda> Exportación de datos> Seleccionar esquema> Seleccionar tablas y haga clic en Exportar
mysqldump db_name table_name | gzip > table_name.sql.gz
para restaurar:gunzip < table_name.sql.gz | mysql -u username -p db_name