grant all privileges on *.* to root@'localhost' identified by '12345678' with grant option
FLUSH PRIVILEGES
查看用户:SELECT * from mysql.`user`这个在5.0,5.1,5.5版本的都可以,其他的版本没有测试过。
你可以去www.quzixi.com 的mysql板块里看一下mysql的基础知识,他的脚本几乎都测试过了
mysql怎样增加用户格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的 *** 作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"
如果你不想test2有密码,可以再打一个命令将密码消掉。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by ""
另外,也可以通过直接往user表中插入新纪录的方式来实现。
方法/步骤1
在未配置MySQL之前,根据MySQL服务端的信息,用navicate客户端进行连接测试,如图一、图二所示
2
在MySQL所在机器上登录root用户,如图三所示
3
切换到mysql库,并查看user表,如图四所示
use mysql
select host,user,password from user
4
修改host列的用户,建议修改localhost用户,如图五所示
执行命令如下:
update user set host = '%' where host = 'localhost'
select host,user,password from user
flush privileges
5
再次用navicate客户端进行连接测试,如图六所示
END
FAQ
1
为什么只改一条呢?
因为%代表了任何ip地址均可以访问此mysql库,所以只有一条%记录即可,多条无意义,如需根据不同的ip、不同用户有不同的权限访问,可设置为多条。
2
为什么只是修改某条user记录,而不是insert一个用户呢?
因为新增的用户,相关权限是没有的,如果新纪录的各项都设置为Y,则权限过大,如果新纪录的各项都设置为N,则权限过小,远程登录之后,无法进行其他 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)