在创建mysql用户时,把数据库的权限一同赋值给用户名为tbz的用户:
grant all on db1.* to tbz indentified by 'abc';
导致用户tbz用户名后面有 % 通配符
在 select host,user from user里面。
但是不能使用
mysql -u tbz -p
登陆不能操作db1等所有数据库。
注:blush privileges;已经提交!

解决方案 »

  1.   

    使用 grant all on db1.* to tbz@localhost indentified by 'abc';之后就可以登陆了。这个是什么原因阿?%通配符,怎么不能通配用户名呢?或者用之前的语句加了权限之后,怎样才能登陆用户呢?这里面的‘%’到底有什么作用?有了他倒出毛病了……向雷锋叔叔学习! 
      

  2.   

    mysql -u tbz -p -h 你的本机IP就可以了。
      

  3.   

    “用户名@%”  是这个用户可以通过任何IP登陆 ,最安全的做法就是 “用户名@localhost”