views:

106

answers:

5

I am considering replicating a production MySQL database to my development machine so I've always got current data.

The production database is externally hosted. My development machine is behind an unreliable internet connection. It is entirely possible that the development machine could be disconnected from the internet for extended periods of time (hours).

Would there be any adverse effect on the production database by doing this?

(I don't strictly need live data - but it would be nice, and good excuse to dabble with replication. If the consensus is that this is a bad idea, I'll set up a daily job to import the previous night's backup into my development database)

+1  A: 

As long as you're not affecting the development environment for the rest of your team (there is no harm testing your app with production data). However, this special environment should be kept separate from your dev/stage environments (call it, special-stage, or almost-production).

John Himmelman
A: 

I think in your circumstances - yes, it's bad idea. To develop, one don't need any actual data, even daily updated one. And your internet connect conditions is poor for playing with replication.

Col. Shrapnel
+2  A: 

Having real data is always a huge help in development. Just be sure to blank every user's email address so you don't spam them with development emails.

Coronatus
A: 

Do you have any sensitive data in your production server (email addresses? phone numbers? passwords?). I don't know if this applies to your environment, but in some places security rules are less stringent on dev machines than on production servers ("what's that? all the developers say they need root access to install CPAN modules? -- sure, no problem, it's just a dev box").

If there's sensitive data involved, think carefully about whether you're increasing your exposure by copying it to another machine.

(and does the replication use a secure (SSH) connection?)

David Gelhar
+1  A: 

And what if you need to change database schema or do some experiments with data/triggers/SP/constraits? once you've modified the data on slave - it will be in asynchronous state ever, until next dump importng + syncing.
so why not then just do dump imports sometimes?

zerkms
Because with a large database, this can take a few hours to do and is pretty inconvenient.
Mailslut