制作MySQL数据库副本以进行开发

| 我有Web应用程序,可以在生产服务器上完美运行。但是这个应用程序每天都在进步,我经常需要邀请副开发人员和自由职业者对其进行升级。因此,每次我找到某人时,都必须发送我的应用程序的开发版本和生产MySQL数据库的副本,在该副本中,我会手动删除所有机密数据。 因此,问题是:是否可以制作脚本来自动制作此数据库的开发版本? 更新: 我将尝试绘制一些数据。例如,我有用户表:
User table:
name  | email         | role         | phone   |
-----------------------------------------------
user2 | mail@mail.com | guest        | 1234567 |
user2 | mail@mail.com | admin        | 1234567 |
user2 | mail@mail.com | manager      | 1234567 |
user2 | mail@mail.com | topmanager   | 1234567 |
但是,当然,此表仅包含实际用户数据。等等,还有一些类似的表。 因此,我想制作一个脚本,该脚本可以转储整个生产数据库,并删除一些重要的机密表,例如“用户”,“订单”,“付款”等。在此脚本将伪数据放入那些表之后,例如我以前键入的Users数据。     
已邀请:
您可以在命令行中使用mysql。
ssh -C user@newhost \"mysql -uUSER -pPASS -e \'create database NEW_DB_NAME;\'\" 
&& mysqldump --force --log-error=mysql_error.log -uUSER -pPASS OLD_DB_NAME 
| ssh -C user@remotehost \"mysql -uUSER -pPASS NEW_DB_NAME\"
    
您是说要给他们一个数据库副本,其中某些部分是匿名的吗? 为什么不写这样的东西:
UPDATE `mytable` SET `foo` = `bar`
匿名化那些列?您可以编写一个PHP脚本来导出数据库,然后将其执行到任何相关的表和列。 还是我误解了这个问题?     
如果您只想共享表的DDL(CREATE TABLE语句) 查找您要共享的表的列表。 编写一个shell脚本以登录到mysql并逐个获取每个表的DDL。 DESC TABLE_NAME_1; DESC TABLE_NAME_2; 将输出重定向到文件。 分享这个档案。     

要回复问题请先登录注册