標籤:mysql 視圖
在資料庫上執行show table status命令,報錯如所示:
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/84/24/wKiom1eG-CLz8cC4AAAJas0Wtr4849.png" title="報錯.png" alt="wKiom1eG-CLz8cC4AAAJas0Wtr4849.png" />
但是在資料庫上是沒有空使用者的,驗證:
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/84/24/wKiom1eG-VHgc3ttAAATOWrJrRQ915.png" title="QQ圖片20160714103021.png" alt="wKiom1eG-VHgc3ttAAATOWrJrRQ915.png" />
那就可以判斷不是資料庫使用者授權的問題,那就可能是資料庫檢視的問題,當開啟該庫的視圖時,出現如下錯誤:
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/84/24/wKioL1eG-snAVLBEAAAkYDrJtIQ322.png" title="QQ圖片20160714103619.png" alt="wKioL1eG-snAVLBEAAAkYDrJtIQ322.png" />
原因:此資料庫檢視是由[email protected]%使用者建立的,然而該使用者不存在於資料庫中,當用其他使用者執行時預設就被拒絕了
現在查看視圖的定義者為[email protected]%:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/84/24/wKioL1eG_AfSaTIdAAAZ2j1RMj4848.png" title="修改前.png" alt="wKioL1eG_AfSaTIdAAAZ2j1RMj4848.png" />
解決辦法:修改視圖定義者為目前使用者,執行如下sql語句:
create or replace view hwu_new.hwu_goods_list_activity as select * from hwu_new.hwu_goods_activity;
繼續查看視圖的定義者已經變成目前使用者:
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/84/24/wKioL1eG_RGT59-CAAAaV8ZD7IA471.png" title="修改後.png" alt="wKioL1eG_RGT59-CAAAaV8ZD7IA471.png" />
執行show table status語句不再報錯。
本文出自 “吾在廬山” 部落格,請務必保留此出處http://147546.blog.51cto.com/137546/1826286
mysql show table status報錯解決辦法