
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本 *** 作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:phplamp
用户数据库:phplampDB
1.MySQL命令行新建用户
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql>insert into mysql.user(Host,User,Password) values('localhost','phplamp',password('1234'))
//刷新系统权限表
mysql>flush privileges
这样就创建了一个名为:phplamp 密码为:1234 的用户。
//退出后登录一下
mysql>exit
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
2.MySQL命令行为用户授权
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB
//授权phplamp用户拥有phplamp数据库的所有权限
@>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234'//这里需要注意,如果发现找不到用户,需要执行命令 flush privilieges
//刷新系统权限表
mysql>flush privileges
mysql>其它 *** 作
//如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234'
//刷新系统权限表。
mysql>flush privileges
mysql>grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’
权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户 *** 作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。
例如:
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。
1,Mysql下创建新的用户语法:
1.create user 用户名 identified by '密码'
例:create user xiaogang identified by '123456'
新创建的用户,默认情况下是没有任何权限的。
2. 如何给用户分配权限
语法:
1.grant 权限 on 数据库.数据表 to '用户' @ '主机名'
例:给 xiaogang 分配所有的权限
grant all on *.* to 'xiaogang'@'%'
这个时候 xiaogang 就拥有了 所有权限了
3 如何更精准的控制用户的权限呢?
1.grant 权限 on 数据库.数据表 to '用户' @ '主机名'
例:让 xiaogang 有查询 tmp 数据库 tmp1 表的权限;
grant select on temp.temp1 to 'xiaogang'@'%' //这个时候 xiaogang 就具有查询temp小的temp1的权限了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)