Ask HN: Inherited large MySQL database and need to make sense of it
I have this large raw MySQL database (.bak), it's ~2GB and with about 36 tables (some tables have over 400,000 rows). I need to form the relationships and then bring it to life in some form of system. It was previously attached to CF with user accounts, notes, etc. What's the best method of being able to query this and further to make sense to others. Either pull reports, add additional items, etc.
I'm really open to ideas that are the path of least resistance. I can provide screenshots of the table breakdowns if that's needed, but more so looking at something that could import MySQL data into and then form relationship and then from there attach it to some GUI that I could allows users to become part of and perform their searches, and use.
Could I take the .bak file to Amazon RDS and then throw something on top of it?
4 comments
[ 2.9 ms ] story [ 23.8 ms ] thread2gb is not that large these days - set up a local MySQL and import it. 36 tables should be doable by hand very quickly if they have good naming. If they don't have good naming, it's not going to link them automatically anyway.
If you want some GUI that allows you to create quick and simple search forms, try libre office base
Then if you still have disconnected tables, take a few sample rows and see what looks like identifiers / keys. You can join that column with another one in the database and see if they match up completely, or if one has IDs that the other one didn't.
As you're doing this, write down comments about what the tables contain, so you can do sanity checks (do users really reference foos? does that make sense?)
I'm assuming your question means you don't have access to the application for this database, or can't run it and sniff the queries from the network.
https://www.mysql.com/products/workbench/
You can tell it to reverse engineer the db and it will construct diagrams for you. It has good tools for visually mapping as well.
And its FREE !!!!!!