示例:创建只能本地登录(localhost)的账号zhangsan,密码为mypass
创建用户并授权,语法格式(8.0以前版本):
示例:
8.0以前版本创建用户授权一步到位。
8.0以后的版本,创建用户后,再进行授权 *** 作。
格式:
示例:
有两种方式查看。
第一种方式:
第二种方式:
g 相当于’’
G使每个字段打印到单独的行,也有’’的作用
只能查出哪个数据库的哪张表的权限,如查userwordpress在mysql数据库的user表的权限,显示都是N(no),没有权限,如果查root用户就都是Y(yes)选择了。
修改密码的两种方式:
1)Alter user
2)set password
3)8.0以前版本grant,8.0以后版本无法使用
修改host,访问IP:
MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。两条语句扮演了mysql数据库的前端角色,并提供与直接 *** 作这些表的内容不同的另一种方法。CREATE和REVOKE语句影响4个表:授权表 内容user 能连接服务器的用户以及他们拥有的任何全局权限db 据库级权限tables_priv 表级权限columns_priv 列级权限还有第5个授权表(host),但它不受GRANT和REVOKE的影响。你可能也想考虑使用mysqlaccess和mysql_setpermission脚本,它是MySQL分发的一部分,它们是Perl脚本,提供GRANT语句的另一种选择设置用户账号。mysql_setpermission需要安装DBI支持。1 创建用户并授权GRANT语句的语法看上去像这样:GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION要使用该语句,你需要填写下列部分:privileges授予用户的权限,下表列出可用于GRANT语句的权限指定符:权限指定符 权限允许的 *** 作ALTER 修改表和索引CREATE 创建数据库和表DELETE 删除表中已有的记录你可以这样 *** 作。
如果MYSQL客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用ssh隧道来加密该连接的通信。
使用set password语句来修改用户的密码,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user set password=password(‘newpwd’)”,最后执行“flush privileges”就可以了。
Mysql需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他 *** 作使用基于acl即访问控制列表的安全措施来完成。也有一些对ssl连接的支持。
设置除了root用户外的其他任何用户不允许访问mysql主数据库中的user表加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库
使用grant和revoke语句来进行用户访问控制的工作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)