Skip to content

Instantly share code, notes, and snippets.

@chuenniger
Created September 11, 2013 09:51
Show Gist options
  • Save chuenniger/6521533 to your computer and use it in GitHub Desktop.
Save chuenniger/6521533 to your computer and use it in GitHub Desktop.
Compare the mysql structure between two databases on shell without external tools
#!/bin/bash
# Info
# - ignores AUTO_INCREMENT (replacement via sed)
# settings
db1=DB1
db2=DB2
db1_user=root
db1_pass=PASS
db1_host=localhost
db2_user=root
db2_pass=PASS
db2_host=localhost
db1_filename="$db1.sql"
db2_filename="$db2.sql"
diff_filename="diff_$db1-$db2.sql.diff"
# commands
# get structure of db1
mysqldump --user=$db1_user --password=$db1_pass -h $db1_host -d --compact --skip-comments --skip-extended-insert $db1 | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > $db1_filename
# get structure of db2
mysqldump --user=$db2_user --password=$db2_pass -h $db2_host -d --compact --skip-comments --skip-extended-insert $db2 | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > $db2_filename
# create diff file
diff $db1_filename $db2_filename > diff_filename
cat diff_filename
echo "Finished"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment