2013-10-30 8 views
8

データベースを.sqlファイルから復元しようとしていますが、phpmyadminでデータベースを作成しましたが、復元する.sqlファイルにcreate if not existコマンドを使用していますデータベースの両方の名前はphpmyadminと "mydatabase"である.sqlファイルで同じです。ERROR 1049(42000):不明なデータベース 'mydatabasename'

データベースを復元するために使用しているコマンドは次のとおりです。

mysql -uroot -pmypassword mydatabase<mydatabase.sql; 

上記のコマンドを実行すると、次のエラーが表示されます。また、このデータベースに対してユーザーにすべてのアクセス許可が与えられました。

ERROR 1049 (42000): Unknown database 'mydatabasename' 

どうすればこの問題を解決できますか。 ありがとう、

+5

'mydatabase'!=' mydatabasename'。 – eggyal

+1

.sqlファイルを確認しましたか?多分それは 'mydatabasename'を参照します。 –

+0

スクリプトでUSEの 'mydatabasename'を削除して、もう一度やり直してください。 –

答えて

2

ダンプファイルの名前は何でも関係ありません。

あなたのmydatabase.sqlをチェックして、この行を見つける必要がある:

USE mydatabasename; 

この名前は問題ありません、それはあなたがあなたのコマンドで使用しなければならない一つだ:

mysql -uroot -pmypassword mydatabasename<mydatabase.sql; 

つのオプションあなた:

  1. USE mydatabasename; in yoウルダンプ、および使用し続ける:
    mysql -uroot -pmypassword mydatabasename<mydatabase.sql;
+0

ありがとう、このコマンドは私のために働いた "mysql -uroot -pmypassword -h localhost -D mydatabase

3

オープンSQLファイルをとしようとする行をコメントアウト:
mysql -uroot -pmypassword mydatabase<mydatabase.sql; は、あなたのSQLダンプ、および使用中のものを合わせて、ローカル・データベース名を変更し

  • 既存のデータベースを作成してUSE mydatabasenameを削除して、もう一度お試しください。

  • +0

    ありがとう! –

    10

    ダンプファイルが含まれている場合:

    CREATE DATABASE mydatabasename; 
    USE mydatabasename; 
    

    あなただけのCLIで使用できます

    mysql -uroot –pmypassword < mydatabase.sql 
    

    それは動作します。

    +0

    これはうまくいった!ありがとう。 – olala

    0

    また、「mydatabasename」という名前のデータベースを作成して、それを再度リストアすることもできます。

    MySQLのCLIを使用して新しいデータベースを作成します。データベースを復元しようと次に

    mysql -u[username] -p[password] 
    CREATE DATABASE mydatabasename; 
    

    を:

    mysql -u[username] -p[password] mydatabase<mydatabase.sql; 
    
    1

    私は同じ問題を抱えていると私はあなたにいくつかの手がかりを与えるので、私は解決:

    1。

    : - だから、@eggyalコメント

    mydatabase != mydatabasename 
    

    として、あなたのファイルに、データベースを作成したい場合は

    2.-データベース名を確認し、あなたがまだ作成していないデータベースを設定することはできません

    mysql -uroot -pmypassword mydatabase<mydatabase.sql; 
    

    の変更を:

    ラ・チーさんの答えは私の作品
    mysql -uroot -pmypassword <mydatabase.sql; 
    
    0

    このページのzessx answerのコメントで彼/彼女の答えを見ることができます。しかし、私は最初に、このような答えを微調整するだけでは、それに問題があります:mysql -h localhost -u root -p -D mydatabase < mydatabase.sql

    また、mydatabase.sql部分には、コンピュータに直接場所("C:\Users\username\desktop"など)が含まれていることをお勧めします。

    ありがとうございます。