T30*_*000 7 mysql database-design mysqldump data-modeling
我在MySQL中有两个已经拥有数据的数据库.他们有完全相同的架构.我想将这两个数据库合并为一个.我试过了:
mysqldump -u root -p --databases database1 database2 database3 > database1_database2_da
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试打开时database1_database2_da
,我最终只得到一个数据库中的数据,但不是所有数据库中的数据.我还想提一下,这两个数据库的记录从1开始,因为它们是自动生成的.您是否认为有一种方法可以合并这两个数据库而不会丢失任何数据?
Mic*_*ior 10
mysqldump
使用--no-create-info
选项在每个数据库上运行,以避免编写架构信息.然后使用该--no-data
选项在一个数据库上运行一次.如果将所有这些文件按顺序加载到同一目标数据库中,则应该可以正常工作,除非两个数据库之间的架构有任何差异或重复主键.
mysqldump -u root -p --no-create-info database1 > database1.sql
mysqldump -u root -p --no-create-info database2 > database2.sql
mysqldump -u root -p --no-data database1 > schema.sql
Run Code Online (Sandbox Code Playgroud)
创建新数据库后,运行
mysql -uroot -p -Ddatabase3 < schema.sql
mysql -uroot -p -Ddatabase3 < database1.sql
mysql -uroot -p -Ddatabase3 < database2.sql
Run Code Online (Sandbox Code Playgroud)
这也可行.没有Windows机箱可以在ATM上进行测试
type schema.sql database1.sql database2.sql | mysql -uroot -p -Ddatabase3
Run Code Online (Sandbox Code Playgroud)