我现在通过mysqldump进行数据库的备份,但是我想在备份的脚本前面加上CREATE DATABASE  IF NOT EXISTS `test` ;这个语句,但是我使用mysqldump --add-drop-database参数却无法加上去,不知道为什么,请教?

解决方案 »

  1.   

    MYSQLDUMP -uroot --add-drop-database -B -E -R -p >D:\temp\123.TXT
    可以啊
      

  2.   

    --add-drop-database 这个参数是加上 drop database ....
      

  3.   

    你目前用的语句是什么,理论上不加参数默认情况下是应该有 CREATE DATABASE  IF NOT EXISTS `test` ;的。估计是你添加了什么参数,比如no-create-database
      

  4.   

    谢谢  我少加了一个-B的参数,你那个-E参数是什么意思,我在help里面没看到,是不是-e, --extended-insert??
      

  5.   

    我的语句:
    mysqldump --opt --host=%hostname% --add-drop-database -B --routines %dbname% --user=%username% --password=%password% > D:\backupSSO\%dbname%_%dttm%.sql
      

  6.   

    如果我要回复数据库的话,我用这样的语句:
    mysql --user=root --password=qwe123 -h 127.0.0.1 -s -e 'source test.sql'
    但是貌似无效啊
    ERROR 1102 (42000): Incorrect database name test.sql''
      

  7.   

    mysql --user=root --password=qwe123 -h 127.0.0.1 <  test.sql
      

  8.   

    mysql -user=root -p=qwe123 -h 127.0.0.1 < test.sql
      

  9.   

    感谢   我总是以为需要在mysql中使用source才能进行还原。
    已经解决了 。
      

  10.   

    为什么我恢复的时候会报这个错:
    ERROR 1449 (HY000) at line 4751: There is no 'InternalTest0'@'%' registered但是我的InternalTest0这个用户已经建立了啊。
      

  11.   

     'InternalTest0'@'%' MYSQL的用户名由 username@hostname 组成,你现在登录的用户显然不是从主机登录的。
    或者创建一个 'InternalTest0'@'%' 
      

  12.   

    关键是我已经创建了一个InternalTest0用户GRANT ALL ON *.* TO internaltest0@"%" IDENTIFIED BY "123456"; 我想应该没有错吧。
      

  13.   

    select * from mysql.user;贴出来看一下