-h 指的是host,就是你要连接的主机名称,不使用-h,默认登录到localhost,也就是127.0.0.1

解决方案 »

  1.   

    在mysql中,数据库表是有权限的。
    在mysql.user表中,有三个字段host,user,password.
    host是登陆时的主机名,user是登陆用户名,password是密码。我觉得你出现那样的状况,在mysql.user表中,应该有两条记录是:
    host       user    password
    127.0.0.1  root
    localhost  root
    对于这两个用户的权限是不同的,你对lcoalhost的root没有赋予访问其他数据库表的权限。赋予权限的语句:
    grant all on *.* to root@% identified by 'password'
      

  2.   

    问题始我以往用mysql -uroot登陆的时候,所有的数据库都能看到啊。