我使用fleaphp里面的mysql数据库。
我用Navicat连接mysql,并且修改了mysql.user内的密码。问题来了,这时我退出Navicat,再连接数据库,照样可以访问,这时我的理解是,我在更改user表密码时,Navicat也会同时刷新他所保存的数据库连接信息。于是我去打开fleaphp内自带的一些PHP的例子,发现也可以访问还可以往里面添加删除修改数据,而fleaphp内使用的是最开始默认的用户名"root",密码"",这是为什么呢?

解决方案 »

  1.   

    如果你是直接改的表USER中的密码,则并不生效,需要MYSQL重启或者 强制FLUSH PRIVILEGES后才生效。
      

  2.   

    直接修改USER表,需要FLUSH PRIVILEGES才能生效。
    grant的,立刻生效。上面说的生效,是指另外的连接进来进行权限检查时生效,对本链接无效。
      

  3.   

    权限表是启动的时候读入内存的,验证在内存验证当修改表的时候  数据并没有刷新到内存,因此需要手动flush privileges刷新到内存但是用grant语句修改权限会隐含执行flush privileges
      

  4.   

    还是没解决。。有几个情况:
    1.我是用fleaphp内带的mysql,没有mysqladmin可用
    2.因为这个mysql相当于绿色版的mysql没有加入系统服务,所以我关闭都是真接在系统进程管理那关的,不知道这个有没有影响。3.我有尝试过重启服务器再连接,但连接时他会提示我“1130 - Host 'localhost' is not allowed to connect to this MySQL server”。我查了一下百度,有人说是你的帐号不远程登陆,只能在localhost,可是是在localhost登录啊。