copie la estructura de la base de datos sin datos en mysql (con tablas vacías)


Hay alguna manera de copiar la estructura de la base de datos sin datos en MySQL, por lo que la nueva base de datos será la misma de la que se copia, pero con tablas vacías.

Después de recibir algunas sugerencias probé el comando, pero estoy recibiendo un error de sintaxis, mi username = root y password = nothing. Supongo que el predeterminado. Estoy tratando de seguir la orden,

mysqldump -u root -p -d xyz_db | mysql -u root -p -Dnew_db

Lo que me falta o extravío en el comando?

Author: Pramod, 2013-01-01

5 answers

mysqldump -u user -ppass -d olddb | mysql -u user -ppass -D newdb

La nueva base de datos ya debe existir. El indicador -d en el comando mysqldump impide la copia de datos.

No hay espacio entre la bandera -p y la contraseña.

 57
Author: Rab,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-28 16:31:23

Usted puede tomar copia de seguridad usando mysqldump y restaurar con mysql usando commandline.

Para la base de datos de copia de seguridad

$ mysqldump -u root-pPassword -P3309 --routines --no-data testdb > "d:\dbwithnodata.sql"

Para la restauración de la base de datos

$ mysql -u root-pPassword -P3309 newdb < "d:\dbwithnodata.sql"
 8
Author: Saharsh Shah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-28 16:32:11

Puede hacer una copia de seguridad de su estructura de base de datos MYSQL con

mysqldump -u username –p  -d database_name > backup.sql

(No debe proporcionar una contraseña en la línea de comandos, ya que conlleva riesgos de seguridad.MYSQL pedirá la contraseña por defecto.) Y puede crear crear tablas en la base de datos con

mysql -u username -p new_database < backup.sql

Ahora puede usar pipe para dar la salida del primer comando como salida para el segundo y ya no necesitará backup.sql

mysqldump -u username –p  -d database_name|mysql -u username -p new_database

Todas las tablas se crearán en new_database sin datos.

 1
Author: Vinod Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-30 18:42:21

Prueba este:

$ mysqldump --no-data -h localhost -u root -p database_name > imported_db_name.sql
 1
Author: Phoenix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-28 16:31:56

De electrictboolbox.com/mysqldump-schema-only:

Volcando la estructura de la base de datos para todas las tablas sin datos Agregue la bandera-d para indicar que no se deben incluir datos en la salida como así, donde " mydatabase "es el nombre de la base de datos a volcar, y" someuser " es el nombre de inicio de sesión utilizado para conectarse a la base de datos. El siguiente comando volcará la estructura de tabla para todas las tablas en la base de datos MySQL especificada:

$ mysqldump -d -u someuser -p mydatabase

La bandera-d dice no incluir datos en volcado. Alternativamente, puede usar --no-data en su lugar si lo encuentra más fácil de recordar:

$ mysqldump --no-data -u someuser -p mydatabase

La bandera-u indica el nombre de usuario y la bandera-p que se proporcionará una contraseña. Después de presionar se le pedirá la contraseña.

Alternativamente, la contraseña se puede proporcionar en la línea de comandos, pero no debe haber espacio entre la bandera-p y la contraseña. Por ejemplo, si la contraseña era "manzanas" haga esto:

$ mysqldump --no-data -u someuser -papples mydatabase
$ mysqldump -d -u someuser -p mydatabase > mydatabase.sql # This will output to a sql file
 1
Author: lampwins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-28 16:34:36