用mysqldump在serverA上将一个数据库test备份以后
mysqldump -uroot -p test>test.sql然后将其拷贝至serverB上进行恢复
mysql -uroot -p test<test.sql其中serverB上test本来是存在得,并且有一定的数据,在serverB上进行操作时mysql -uroot -p test<test.sql
是会直接覆盖test得吗?也就是说类似于把test数据库给删除了,然后重建一个test得数据库再把数据倒进去
(当然比较安全的办法时先删除test数据库,再新建一个空得test,再导入)

解决方案 »

  1.   

    是会直接覆盖test得吗?也就是说类似于把test数据库给删除了,然后重建一个test得数据库再把数据倒进去
    (当然比较安全的办法时先删除test数据库,再新建一个空得test,再导入)会,检查sql文件,是否 有DROP TABLE IF EXISTS `TABLENAMR`;CREATE TABLE `TABLENAMR` 。测试 mysqldump -uroot -p test>test.sql,生成的SQL文件中有DROP TABLE IF EXISTS `TABLENAMR`;CREATE TABLE `TABLENAMR` 。
      

  2.   

     --opt
    该选项是速记;等同于指定 --add-drop-tables
    --add-locking 
    --create-option 
    --disable-keys
    --extended-insert 
    --lock-tables 
    --quick --set-charset。
    它可以给出很快的转储操作并产生一个可以很快装入MySQL服务器的转储文件。该选项默认开启,但可以用--skip-opt禁用。要想只禁用确信用-opt启用的选项,使用--skip形式;例如,--skip-add-drop-tables或--skip-quick。