MySQL用户与权限管理

快捷查看指令 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字段

MySQL用户与权限管理_第1张图片

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 -p123456

mysql 命令参数拓展
-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数据库的安全性和完整性。

你可能感兴趣的:(MySQL,数据库,mysql,数据库)