为什么我在mysql库user表中的用户都不能连接,我可是把权限都设为Y了??? 我现在的网站都是用root用户连接的,因为mysql库user表中的用户都连接不上,是不是什么地方还要设置???希望高手帮帮忙? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你 FLUSH Privileges 了吗? FLUSH Privileges 是干什么用的! 刚看了一下MySQL手册,好像又不是那样子,你先直接输入FLUSH PRIVILEGES看看-----------------------------当mysqld启动时,所有的授权表内容被读进存储器并且从那点生效。 用GRANT、REVOKE或SET PASSWORD对授权表施行的修改会立即被服务器注意到。 如果你手工地修改授权表(使用INSERT、UPDATE等等),你应该执行一个FLUSH PRIVILEGES语句或运行mysqladmin flush-privileges告诉服务器再装载授权表,否则你的改变将不生效,除非你重启服务器。 当服务器注意到授权表被改变了时,现存的客户连接有如下影响: 表和列权限在客户的下一次请求时生效。 数据库权限改变在下一个USE db_name命令生效。 全局权限的改变和口令改变在下一次客户连接时生效。 在phpmyadmin里面怎么样刷新???因为我是从phpmyadmin里直接添加用户的 在phpMyAdmin的SQL那个文本框运行。 我重启了apache,还是没有用? 是不是运行 FLUSH PRIVILEGES 是不是mysql的版本问题,但是我在window下和linux下都是这样子! 你的密码用password函数处理过吗 不是这个用户,是数据库的用户(连接mysql数据库的). 没有用password函数处理过,我是在phpmyadmin中打开mysql库,然后在表user中增加一条记录(用户名、密码都是这样输入进去的)。 没有用password函数处理过,我是在phpmyadmin中打开mysql库,然后在表user中增加一条记录(用户名、密码都是这样输入进去的)。 ……难怪了,密码要用 password() 函数处理,否则就不能用了。 insert into user (host,user,password,....) values ('localhost','test',password('pass'),...) :)如果你以SQL的 INSERT UPDATE DELETE 等语句来维护用户授权表,你必须使用 FLUSH PRIVILEGES 来使 MySQL 知道你已修改过了 用户授权信息如果你使用的是 GRANT、REVOKE 或 SET PASSWORD 对授权表施行修改服务器会立即注意到你所作的更改 提高MySQL 查询效率的三个技巧 特特特简单一个问题 你不知道的常识 假如mysql数据库中某列大约有100000条32位随机字符串,要找出某个特定的字符串,怎样优化搜索? insert带“+”的SQL语句的问题 怎么查询总分在前15名的信息,并按总分降序排列? 怎么样 向远程数据库写入数据、 mysql真是不爽啊! 请教基于mysql数据库的数据仓库 消除MySQl视图中FROM子句存在的子查询 高手指教!! LOAD DATA INFILE 无法正确导入数据 关于MYSQL权限的一点问题 客户端连接问题
当mysqld启动时,所有的授权表内容被读进存储器并且从那点生效。 用GRANT、REVOKE或SET PASSWORD对授权表施行的修改会立即被服务器注意到。 如果你手工地修改授权表(使用INSERT、UPDATE等等),你应该执行一个FLUSH PRIVILEGES语句或运行mysqladmin flush-privileges告诉服务器再装载授权表,否则你的改变将不生效,除非你重启服务器。 当服务器注意到授权表被改变了时,现存的客户连接有如下影响: 表和列权限在客户的下一次请求时生效。
数据库权限改变在下一个USE db_name命令生效。
全局权限的改变和口令改变在下一次客户连接时生效。
难怪了,密码要用 password() 函数处理,否则就不能用了。
你必须使用 FLUSH PRIVILEGES 来使 MySQL 知道你已修改过了 用户授权信息如果你使用的是 GRANT、REVOKE 或 SET PASSWORD 对授权表施行修改
服务器会立即注意到你所作的更改