mysql新增加用户的几种方式:
1、先新增加用户,然后再进行授权
1.1 新增加用户 语法:CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'][, user [IDENTIFIED BY [PASSWORD] 'password']] ...
新增用户: zhangsan
CREATE USER zhangsan IDENTIFIED BY '123456'; # 新增加一个zhangsan用户,密码为:123456
1.2 为用户授权 语法:GRANT [ALL | [SELECT,DELETE...]] PRIVILEGES ON {databasename|*}.{tablename|*}... TO username[@{localhost|%}]
为用户zhangsan授权
如果管理多个数据库,那么就执行多个这样的授权命令即可
GRANT CREATE, DROP, SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE VIEW ON test001.* TO zhangsan@localhost
GRANT CREATE, DROP, SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE VIEW ON test002.* TO weijian@localhost
......
2、新增用户并授权
(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
语法: GRANT [ALL | [SELECT,DELETE...]] PRIVILEGES ON {databasename|*}.{tablename|*}... TO username[@{localhost|%}] [IDENTIFIED BY [PASSWORD] 'password']
GRANT SELECT ON 数据库.* TO 用户名@登录主机 IDENTIFIED BY “密码”
第一种:
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" IDENTIFIED BY "abc" ;
但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例第二种:
第一种:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数
mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。 mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "";