Host 是个允许的客户端的掩码。比如你只想让202.105.132.xxx 这个区域内的机器能访问mysql,那么就是写成 202.105.132.* 就行了。
解决方案 »
- mysql 5.5.25的配置问题
- 讨论帖:关于mysql的shared-compat和devel-community主页上版本是否标注的有问题?
- mysql中mysqldump问题
- 为什么会出现这个现象
- [mysql初学者]问一下关于mysql 4.0.18启动的问题
- 对于存储物品单价的子段用什么类型更精确!
- MYSQL备份问题
- mysql 看不到慢查询日志内容
- NT 上已安装好mysql服务器,WIN98 client连接不上,求救
- 请问在98下如何用Mysql提供的头文件和静态库编写的客户端程序?
- 关于在mysql中使用ALTER语句
- 50份请问:EMS MySQL Manager 1.9.2.2 的注册码和汉化文件!谢谢!
host:11.254.3.17
user:123
password:456但死活无法连接数据库。mysql_connect("11.254.3.20","123","456")清帮忙
因为在user表中是以加密形式存储口令,而不是作为纯文本。
如果你没有加密,直接在数据库中执行以下语句:USE mysql
INSERT INTO user (Host,User,Password) VALUES('%','user_name','your password');
FLUSH PRIVILEGES;
相信结果将会令你很失望。
因为服务器比较的是加密的值,所以服务器连接一定失败。
这里需要说明的是“FLUSH PRIVILEGES;”这条命令,
它起到了重新加载授权表的作用。
你也可以在shell下直接用 mysqladmin -u root reload
或者 mysqladmin -u root flush-privileges 来实现重载授权表。在MySQL环境下,你可以使用以下语句进行设置密码:
1、INSERT INTO user(Host,User,Password) VALUES('%','user_name',Password("your password");
2、SET PASSWORD FOR user_name = password("your password")
以上两种方法都必须进行重载授权表。
3、当然你也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令.
如 grant all on *.* to user_name@% identified by "your password"; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>mysql>INSERT INTO user VALUES ('11.254.3.17',
'123',PASSWORD('456'),'Y','Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N');
mysql>FLUSH PRIVILEGES;
->新建一个名为“123”的用户,他可以从局域网中登录,具有
->Select、Insert、Update、Delete、Create、Drop权限或
mysql>GRANT ALL on *.* to [email protected] identified by "456";