mysql中用户管理总结

**

因为本人之前一直写的是电子笔记,对自己学会的东西作一个总结,所以基本都是文字,本来想全发成博客的形式,发现全发成博客比较花费时间,而且一直发博客质量不是很好,而且通过发博客学到的东西也会变少,所以准备先把笔记发出来,后续再将它们改成博客的形式,争取2天至少改一篇博客,觉得我总结的还行的可以先关注我,后续会发成博客形式,内容也会更加完善

**

用户:
因为root用户是能够控制所有数据库的存在,如果只有自己使用那还好,如果有其它用户存在,那么让他们也使用root用户是极其危险的,所以我们希望可以创建其它的非root用户,然后这些用户只有特定的权限,这样就不会出现太大的问题,能很好的管理数据库
mysql中的用户都存储在mysql这个数据库下的user表中,我们可以使用“select host,user,password from user;”来查询mysql中所有的用户和他们可以登入的ip
mysql中用户管理总结
user字段表示这台主机上可以使用的用户有哪些,host字段表示这些用户所使用主机是什么(ip地址是什么),password表示用户给用户密码加密后的字符串
如果我们要创建一个新用户可以使用create user,使用方法是“create user ‘用户名’@‘登陆主机/ip’ identified by ‘密码’;”例如我要创建一个名字为“charles”的用户,可以这样写“create user ‘charles’@‘localhost’ identified by ‘123456’;”
mysql中用户管理总结
然后我们就可以设置这个用户可以使用的权限信息了,设置方法为“grant 权限列表 on 库.数据表名 to ‘用户名’@‘登陆位置’ [identified by ‘密码’]”,权限列表可以用逗号隔开,例如“grant select, delete, where”每个可以使用的命令能用逗号隔开,也可以使用”grant all on …“表示该用户在某个对象上可以使用所有权限;在设置库.对象名时,如果设置为”.“表示可以使用所有数据库,也就相当于和root权限相同,如果是”库.“表示对这个库拥有所有的权限,也就可以随意使用里的表,然后“identified by”是一个可选项,如果这个用户存在,那么在赋与权限的同时修改密码,如果不存在则创建此用户;例如我要给“charles”这个用户设置“select"和“delete”的使用权限,可以这样写“grant select, delete on charles. to ‘charles’@‘localhost’;“
mysql中用户管理总结
如果觉得有些用户的权限太多,我们可以回收他的一些权限,方法是“revoke 权限列表 on 库.对象名 from ‘用户名’@‘登陆位置’;”例如我要回收“charles”用户在charles库的“delete”权限,可以这样写“revoke delete on charles.* from ‘charles’@‘localhost’;”

mysql中用户管理总结
我们可以分配的权限如下图:
mysql中用户管理总结
修改密码:
如果root用户要修改自己的密码可以使用“set password=password(‘新的密码’);”的方法,例如我要修改自己的密码为’123456’可以这样写“set password=password(‘123456’);”,如果我们要修改其它用户的密码可以使用“set password for ‘用户名’@‘主机名’=password(‘新的密码’);”的方法,例如我要修改charles用户的密码为’123789654’可以这样写,"set password for ‘charles’@‘localhost’=password(‘123789654’);“
mysql中用户管理总结
删除用户:
如果要删除一个用户,可以使用“drop user”,使用方法为“drop user ‘用户名’@‘主机名’;”,例如我现在要删除“charles”这个用户,可以这样写”drop user ‘charles’@‘localhost’;“

mysql中用户管理总结