2017-03-22 1 views
0

現在、にはリモートデータベース上のビューしかアクセスできません。これらのビューのデータをローカルにコピーしてより速く作業できるようにしようとしています。私はmysqldumpを使用して.sqlファイルを作成してロードしようとしましたが、動作していないようです。リモートデータベースビューをローカルデータベースにテーブルとしてコピー

リモートデシベル取得するには:ローカルにコピーするには

$ mysqldump --single-transaction -u username -p -h somesite.com -P 32000 db_name > mysql.sql

を:

$ mysql -u root -p mydatabase < mysql.sql

しかし、私はエラー

ERROR 1146 (42S02) at line 668: Table 'db_name.some_view' doesn't exist

Mを得ますyローカルデータベースは、mysqlシェルにcreate database mydatabase;というコマンドを使って空のデータベースを作成する以外は完全に空です。

リモートデータベースのビューにしかアクセスできないため、この方法を最初に使用できないため、この問題が発生していますか?

+0

おそらく、これが動作するために必要なSHOW CREATE VIEW特権を持っていないからです。 – e4c5

+0

私はその特権を持っているかどうかを知るためのコマンドを使用する方法はありますか? – Andrew

答えて

0

はあなたがデータベースサーバーにリモート経由で接続したら、このコマンドを実行してくださいませんcorrectly.Ifリモートシステムからのデータを取ったのは、このコマンドは

  • のmysqldump -uユーザ名-h 192.168.xxの-Pパスワードです--routines> xxxx.sql

それはあなたのローカルシステムがコマンドが

で、データベース・サーバからデータを取るために、このコマンドを使用して、今データはデータベースのみであるserver.From database.Tillのパスワードを要求されます

今、データがローカルsystem.Thenにある後のシステムに1つのデータベースを作成します。

  • mysqlの
  • データベースを作成します。
  • databasename。*のすべての特権を 'password'で指定されたdatabaseschema @ '%'に付与します。
  • フラッシュ特権。

私はこれがあなたを助けてくれると思いますが、ごめんなさい。

関連する問題