Saturday, December 7, 2013

ERROR 1356(HY000)

Original post: http://anothermysqldba.blogspot.com/2013/12/error-1356-hy000.html

エラー時に来たときに理解する最も重要なことは、少し時間をとってリラックスすることです。 
時々 、人々は、エラー全体を実行し、しどろもどろと欲求不満になる。 深呼吸をしてリラックスしてください。 時々 「 狂気はすべてのことのニーズが少し押しです。重力のようなもの 」と「時々質問は複雑で、答えは簡単です 。 " 

これはすべてについては何ですか? さてたとえば、私は最近、別のDBAに迷惑をした問題の解決に役立つように頼まれた。 何もそのDBAにまったく無礼で意味ないが、ラッシュの人々にあることは単なる見落とし 答え 彼らの前にあり、その代わりに分解スパイラル 狂気  

ここでは、状況の一般的な概念である。 

データベースのmysqldumpを実行した後、ユーザーは、テストであることに他の人のために別のデータベースに移動しました。 インポートがうまく働いた。 しかし、ユーザーは、作成済みのビューからクエリしようとした際にエラーが表示され始めた。 

MySQLの> <View_name>制限1から*選択します。 

ERROR 1356(HY000):ビュー'。<DB_NAME>た<Viewname>」参照の無効なテーブル(S)または列(S)または機能(S)またはそれらを使用するビューの欠如権の定義/実行者 

最初の反応は、何かが、インポートと間違っていたと仮定することでした。 ビューをしたか、実際に関連するテーブルが破損? 

いいえ。 

MySQLの>ショービュー<View_Name> \ Gを作成します。このエラーを解決するには、まず最初にTODOをすることでした 

おそらく、このような始まりなものが表示されます。 
*************************** 1。 行*************************** 
閲覧:訪問者 
 
ビューの作成 ​​:CREATEアルゴリズムは不定DEFINER = `<Some_user>` @ `<Some_host_or_IP>` SQLセキュリティのDEFINER拡大表示 

あなたが定義者が誰であるかを参照した後`<Some_user>` @ `<Some_host_or_IP>`は、そのユーザーのために助成金を表示することができます。 

MySQLの> `<Some_user>` @ `<Some_host_or_IP>`を表示:助成金; 

 ビュー不足権の定義/実行者はそれらを使用する 」:これは、解決策は、エラーが最初の場所で言っただけで何だっ判明 

それは簡単にあなたはそれがすでに動作しているデータベースでshow助成を行い、GRANTステートメントをコピーすることができようにするには、またはあなたが必要なデータを収集するためにビューを有効にするには、新しいデータベースに実装するために必要なアクセス許可はどのようなタイプを確認することができます。 

ユーザーおよびエラーの権限を簡単に更新が消えていた。 

 時々 、答えは簡単です 。 "