快捷查看指令 ctrl+f 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,博主会及时修改)
MySQL用户与权限管理
登录
#本地登录
mysql -uroot -p123456#远程登录
#客户端语法:mysql  -u  用户名  -p  密码  -h ip地址   -P 端口号:如果没有改端口号就不用-P指定端口mysql -h192.168.246.253 -P 3306 -uroot -p123456
#上述命令含义为将要登录到远程一台ip为192.168.246.253,端口为3306,用户名为root,密码为123456的msyql
 
修改用户登录权限
如果用户无法远程登录证明用户没有远程登录权限,需要修改权限
1. 使用root用户本地登录 2. 查看用户登录权限
mysql> use mysql;  #进入msyql库mysql> select user,host from user;  #查询user表的user,host字段
 

3. 修改用户的登录权限
mysql> update user set host = '%' where user = '用户名';
#设置root用户可在任意地点登录#此外登录权限可以有如下设置%					所有主机远程登录192.168.246.%		 192.168.246.0网段的所有主机192.168.246.252		 指定主机localhost			只允许本地用户登录
 
4. 修改完成后,从新验证登录
[root@localhost log]mysql -h192.168.246.253 -P 3306 -uroot -p123456mysql 命令参数拓展
-h		指定主机名            [默认为localhost]
-P		MySQL服务器端口       [默认3306]
-u		指定用户名             [默认root]
-p		指定登录密码           [默认为空密码]
-e		接SQL语句,可以写多条 拿;隔开[root@localhost log]mysql -h192.168.246.253 -P 3306 -uroot -p123456 -D mysql -e 'select * from user;'
#上述命令为远程登录一台ip为192.168.246.253 端口为3306 用户名为root 密码为123456的mysql数据库,
#并进入到mysql库中执行'select * from user;'语句
 
创建用户
mysql> create user abc@'localhost' identified by 'abc123'; #创建用户为abc,并设置密码。
#上述命令为创建用户名为abc,密码为abc123的用户且只能在本地登录
mysql> FLUSH PRIVILEGES; #更新授权表# 注意:此时创建用户没有任何权限,不可操作数据
 
删除用户
msyql>drop user 用户名;
 
权限简介
为了更好管理数据库,数据库为用户设置了各种权限,超级管理员可以通过授予以及取消用户权限来管理用户
| 权限 | 权限级别 | 权限说明 | 
|---|---|---|
| CREATE | 数据库、表或索引 | 创建数据库、表或索引权限 | 
| DROP | 数据库或表 | 删除数据库或表权限 | 
| GRANT OPTION | 数据库、表或保存的程序 | 赋予权限选项 #小心给予 | 
| ALTER | 表 | 更改表,比如添加字段、索引等 | 
| DELETE | 表 | 删除数据权限 | 
| INDEX | 表 | 索引权限 | 
| INSERT | 表 | 插入权限 | 
| SELECT | 表 | 查询权限 | 
| UPDATE | 表 | 更新权限 | 
| LOCK TABLES | 服务器管理 | 锁表权限 | 
| CREATE USER | 服务器管理 | 创建用户权限 | 
| REPLICATION SLAVE | 服务器管理 | 复制权限 | 
| SHOW DATABASES | 服务器管理 | 查看数据库权限 | 
| ALL | 服务器管理 | 所有权限 | 
赋予权限
grant 权限名 on 库名.表名 to 用户名@'登录地址限制' identified by '新的密码';#实例
grant select on test.user to abc@'%' identfied by '111111';
将对test库中的user表的查询权限授予abc,并设置abc可在任意主机登录,并且密码改为111111
 
回收权限
revoke 权限名 on 库名.表明 from 用户名;
- 被回收的权限必须存在,否则会出错
- 整个数据库,使用 ON datebase.*;
- 特定的表:使用 ON datebase.table;
 
用户权限管理介绍
MySQL用户权限管理是指授权和管理MySQL数据库中的用户及其权限,以保护数据库的安全性和完整性,避免误操作及数据泄漏。在MySQL中,用户权限分为全局权限和数据库权限。
全局权限控制是针对整个MySQL服务器的操作权限,包括创建和删除用户、修改密码、管理全局变量、管理日志等。数据库权限控制是指指定用户可以访问和操作哪些数据库、表格、以及哪些操作等。
通过对用户权限的细致管理,可以保障MySQL数据库的安全性和完整性。