1,Mysql下建立新的用户php
语法:html
1.create user 用户名 identified by '密码';mysql
例:create user xiaogang identified by '123456';sql
新建立的用户,默认状况下是没有任何权限的。数据库
2. 如何给用户分配权限ide
语法:.net
1.grant 权限 on 数据库.数据表 to '用户' @ '主机名';htm
例:给 xiaogang 分配全部的权限get
grant all on *.* to 'xiaogang'@'%';class
这个时候 xiaogang 就拥有了 全部权限了
3 如何更精准的控制用户的权限呢?
1.grant 权限 on 数据库.数据表 to '用户' @ '主机名';
例:让 xiaogang 有查询 tmp 数据库 tmp1 表的权限;
grant select on temp.temp1 to 'xiaogang'@'%'; //这个时候 xiaogang 就具备查询temp小的temp1的权限了。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操做的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc全部表进行全部操做的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对全部数据库的全部表进行全部操做的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
给本机用户joe分配可对全部数据库的全部表进行全部操做的权限,并设定口令为123。
4. 如何收回 权限,通常指有root用户才具备该权限
语法:
1.revoke 权限 on 数据库.数据表 from '用户'@'主机名';
例:收回 xiaogang的全部权限
revoke all on *.* from 'xiaogang' @'%';
好了下面我个把步骤总结一下很具体的一个过程
第一步:mysql服务的启动和中止
net stop mysql
net start mysql
第二步:直接登录mysql
语法以下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入123456,而后回车便可进入到mysql中了,mysql的提示符是:
mysql>
注意,若是是链接到另外的机器上,则须要加入一个参数-h机器IP
第三步:增长新用户
格式:grant 权限 on 数据库.* to 用户名@登陆主机 identified by "密码"
如,增长一个用户user1密码为password1,让其能够在本机上登陆, 并对全部数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,而后键入如下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
若是但愿该用户可以在任何机器上登录mysql,则将localhost改成"%"。
若是你不想user1有密码,能够再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
第四步: 操做数据库
登陆到mysql中,而后在mysql的提示符下运行下列命令,每一个命令以分号结束