本文实例讲述了Mysql账户管理原理与实现方法。分享给大家供大家参考,具体如下:
账户管理
在生产环境下操作数据库时,绝对不可以使用根账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crud
MySQL账户体系:根据账户所具有的权限的不同,MySQL的账户可以分为以下几种
服务实例级账号:,启动了一个mysqld,即为一个数据库实例;如果某用户如根,拥有服务实例级分配的权限,那么该账号就可以删除所有的数据库,连同这些库中的表
数据库级别账号:对特定数据库执行增删改查的所有操作
数据表级别账号:对特定表执行增删改查等所有操作
字段级别的权限:对某些表的特定字段进行操作
存储程序级别的账号:对存储程序进行增删改查的操作
账户的操作主要包括创建账户,删除账户,修改密码,授权权限等
注意:
进行账户操作时,需要使用根账户登录,这个账户拥有最高的实例级权限
通常都使用数据库级操作权限
授予权限
需要使用实例级账户登录后操作,以根为例
主要操作包括:
查看所有用户
修改密码
删除用户
1。查看所有用户
所有用户及权限信息存储在mysql数据库的用户表中
查看用户表的结构
desc用户;
主要字段说明:
主机表示允许访问的主机
用户表示用户名
authentication_string表示密码,为加密后的值
查看所有用户
选择主机、用户authentication_string从用户; >之前结果
mysql>选择主机、用户authentication_string从用户; + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | |主机用户| authentication_string | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 根| | localhost | * E74858DB86EBA20BC33D0AECAE8A8108C56B17FA | | localhost | mysql。sys | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | localhost | debian-sys-maint | * EFED9C764966EDB33BB7318E1CBD122C0DFE4827 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 3行集(0.00秒) >之前2。创建账户,授权
需要使用实例级账户登录后操作,以根为例
常用权限主要包括:创建、修改、删除、插入、更新、删除,选择
如果分配所有权限,可以使用所有特权2.1创建账户,授权
格兰特权限列表> mysql -uroot - p 回车后写密码,然后回车 >之前步骤2:创建账户并授予所有权限
格兰特选择> 显示laowang@localhost拨款; >之前步骤3:退出根的登录
辞职 >之前目的:使用老王账户登录
mysql -ulaowang - p 回车后写密码,然后回车 >之前登录后效果如下图
2.3示例2
创建一个laoli的账号:密码为12345678,可以任意电脑进行链接访问,并且对jing_dong数据库中的所有表拥有所有权限
所有特权授予alt=" Mysql账户管理原理与实现方法详解“>
账户操作
1。修改权限
格兰特权限名称alt=" Mysql账户管理原理与实现方法详解“>Mysql账户管理原理与实现方法详解