|
发表于 2003-6-6 08:13:18
|
显示全部楼层
MySQL的认证方式是有先后顺序的。
像老兄这样以字符命令的行式:mysql -u root -h ip -p
的连接方式,MySQL根本不会去看你的那个my.cf的文档,而是直接以你所给的命令来进行登录,另外那个配置文件只是起一个你方便操作的作用,不能改变MySQL数据库服务器里对限制主机存取的定义。因此,如果你从来没有改过自己的系统权限密码,那么首先请用scripts/mysql_install_db 来初始你的系统初始权限。
然后用root登录
mysql -u root
不用输入密码。然后查询表user
select host, user, password from user;
可以看到它应该有四条记录分别是两个root用户,两个test用户,密码都是空的,host字段都是对应这两个地主机名:localhost和你现在的主机名。
可以象操作一般数据库一样来操作这个数据表,也可以用set password for root@"%"=password("密码"),来设定密码。如果你需要从哪台机器上访问数据库可以更新host字段,更新完成后,为使权限系统生效:flush privileges
即可生效。
总的来说,MySQL的权限系统设计得很精巧,连不数据库服务器,大多问题是因为权限系统没有搞清楚。包括在windows下用VB,Delphi连接MySQL数据库服务器。
请兄弟参考一下我发的关于MySQL中文手册的贴子第六章 MySQL的权限系统。 |
|