ERROR: Views and There is no 'root'@'%' registered

OS: red hat
mysql> select version();
±-----------+
| version() |
±-----------+
| 5.0.22-log |
±-----------+

mysql> show create view myview;
ERROR 1449 (HY000): There is no ‘root’@’%’ registered
mysql> select current_user();
±---------------+
| current_user() |
±---------------+
| root@localhost |
±---------------+

mysql> show grants for current_user();
±---------------------------------------------------------- ----------------------------------------------------+
| Grants for root@localhost |
±---------------------------------------------------------- ----------------------------------------------------+
| GRANT ALL PRIVILEGES ON . TO ‘root’@‘localhost’ IDENTIFIED BY PASSWORD ‘456777ff4b3ba451’ WITH GRANT OPTION |
±---------------------------------------------------------- ----------------------------------------------------+

shell>vi myview.frm:

TYPE=VIEW
query=SELECT …
md5=511f2eaee7b396510e4edafce8878a8e
updatable=0
algorithm=0
definer_user=root
definer_host=%
suid=1
with_check_option=0
revision=1
timestamp=2009-08-08 11:35:32
create-version=1

What’s wrong?
I have Referred: http://bugs.mysql.com/bug.php?id=16589

I’m not sure, but root@localhost could be != root@%
Maybe You should set the definer_host to the localhost ?

I cannot even alter view as well!

You could create a new view or use alter view.

In any ways root user is not allowed to work with view.
What could be the reason? Any thing to do with user permission?