Si encuentras algún problema en tu código o trabajo, recuerda probar siempre en un entorno de testing antes subir el código al trabajo final.
Solución:
Puedes hacerlo :
mysqldump -u root -p -h --opt -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*b//' > .sql
Como han mencionado otros, si quieres sed
para que funcione correctamente, agregue el g
(por gramoreemplazo lobal) parámetro como este:
mysqldump -u root -p -h --opt -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*b//g' > .sql
(esto solo funciona si tiene herramientas GUI instaladas: mysqldump --skip-auto-increment
)
Nueva ACTUALIZACIÓN gracias a los comentarios.
los b
es inútil y, a veces, romperá el comando. Consulte este tema SO para obtener explicaciones. Entonces la respuesta optimizada sería:
mysqldump -u root -p -h --opt -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*//g' > .sql
La respuesta de JoDev funcionó perfectamente para mí con un pequeño ajuste a la expresión regular sed:
mysqldump -d -h localhost -u -p | sed 's/ AUTO_INCREMENT=[0-9]*//g' > databaseStructure.sql
Es –create-options, que se incluye con –opt, de forma predeterminada, lo que genera las definiciones de la tabla AUTO_INCREMENT.
Si solo quieres las tablas base,
mysql -hlocalhost -uuser -ppass --skip-column-names --batch
-e "select table_name from tables where table_type = 'BASE TABLE' and table_schema = 'schemaname'" INFORMATION_SCHEMA
| xargs mysqldump -hlocalhost -uuser -ppass
--no-data --skip-triggers --skip-opt --no-create-db
schemaname
Si también desea vistas, disparadores y rutinas,
mysqldump -hlocalhost -uuser -ppass
--skip-opt --events --routines --no-data
schemaname
Si te sientes impulsado, tienes la habilidad dejar una noticia acerca de qué le añadirías a esta noticia.