sql >> Base de Datos >  >> RDS >> Mysql

Compara dos bases de datos MySQL

Si está trabajando con bases de datos pequeñas, he encontrado ejecutando mysqldump en ambas bases de datos con --skip-comments y --skip-extended-insert opciones para generar secuencias de comandos SQL, luego ejecutar diff en las secuencias de comandos SQL funciona bastante bien.

Al omitir los comentarios, evita diferencias sin sentido, como la hora en que ejecutó el comando mysqldump. Mediante el --skip-extended-insert comando se asegura de que cada fila se inserte con su propia declaración de inserción. Esto elimina la situación en la que un solo registro nuevo o modificado puede causar una reacción en cadena en todas las declaraciones de inserción futuras. La ejecución con estas opciones produce volcados más grandes sin comentarios, por lo que probablemente no sea algo que desee hacer en el uso de producción, pero para el desarrollo debería estar bien. He puesto ejemplos de los comandos que uso a continuación:

mysqldump --skip-comments --skip-extended-insert -u root -p dbName1>file1.sql
mysqldump --skip-comments --skip-extended-insert -u root -p dbName2>file2.sql
diff file1.sql file2.sql