【MySQL操作】【远程登录、修改】【创建用户、授权】【单独授权】【查看权限】【移除权限】【修改密码】【删除用户】【查看密码复杂度】】【权限控制机制】

权限简介

在这里插入图片描述

权限管理

  1. 登录和退出MySQL
    本地登录客户端命令:

mysql -uroot -pqf123

远程登陆:
客户端语法:mysql -u 用户名 -p 密码 -h ip地址 -P端口号:如果没有改端口号就不用-P指定端口
号:如果没有改端口号就不用-P指定端口

mysql -h192.168.246.253 -P 3306 -uroot -pqf123在这里插入图片描述

步骤1:先修改服务端的root配置文件
如果报错进入server端服务器登陆mysql执行:
mysql> use mysql 进入这个库
mysql> update user set host = ‘%’ where user = ‘root’; 修改这个登录类型
mysql> flush privileges; 刷新 重点
在这里插入图片描述
步骤2: 修改端口号 或者非交互模式
mysql -h192.168.246.253 -P 3306 -uroot -pqf123 -e ‘show databases;’
-h 指定主机名 【默认为localhost】
-大P MySQL服务器端口 【默认3306】
-u 指定用户名 【默认root】
-p 指定登录密码 【默认为空密码】
-e 接SQL语句,可以写多条拿;隔开
mysql -h192.168.246.253 -P 3306 -uroot -pqf123 -D mysql -e ‘select * from user;’
此处 -D mysql为指定登录的数据库
在这里插入图片描述
步骤3:修改端口rpm安装:vim /etc/my.cnf
在到【mysqld】标签下面添加port=指定端口。
flush privileges 重启服务

2.创建用户

方法一:CREATE USER语句创建
mysql> create user tom@‘localhost’ identified by ‘qf@123’; #创建用户为tom,并设置密码。
mysql> FLUSH PRIVILEGES; #更新授权表
注: 语句讲解
在这里插入图片描述
案例:
在这里插入图片描述

GRANT —授权。

GRANT —授权。
mysql> GRANT ALL ON . TO ‘user3’@’localhost’;
#权限 库名.表名 账户名
在这里插入图片描述
步骤: 更新 重点 改完一定要更新
mysql> FLUSH PRIVILEGES; 更新MySQL
Query OK, 0 rows affected (0.00 sec)

修改远程登陆:

将原来的localhost修改为%或者ip地址
步骤:mysql> use mysql 先进入这个表
步骤;“mysql> update user set host = ‘%’ where user = ‘mq’; 修改登录类型
步骤:mysql> FLUSH PRIVILEGES; 更新MySQL
在这里插入图片描述

刷新权限

修改表之后需要刷新权限
方式1: mysql > flush privileges;

创建用户并制定权限

方式二:使用命令创建用户并授权:grant
也可创建新账户(不过后面的版本会移除这个功能,建议使用create user)
语法格式:
grant 权限列表 on 库名.表名 to ‘用户名’@‘客户端主机’ IDENTIFIED BY ‘Qf@123’;
==权限列表 all 所有权限(不包括授权权限)
在这里插入图片描述
操作案例: 指定权限并 创建新的用户
mysql> grant select,insert on . to tq@‘192.168.150.%’ identified by’TianQing@123’;
Query OK, 0 rows affected, 1 warning (0.00 sec)
在这里插入图片描述

#单独授权

mysql> grant select on . to mq@’%’;
在这里插入图片描述

查看权限

查看权限
1.看自己的权限:
mysql> SHOW GRANTS\G
*************************** 1. row ***************************
Grants for root@%: GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION
在这里插入图片描述
2.看别人的权限:
mysql> SHOW GRANTS FOR tom@‘localhost’\G
*************************** 1. row ***************************
Grants for tom@localhost: GRANT SELECT, INSERT ON . TO ‘tom’@‘localhost’
在这里插入图片描述

移除权限

移除用户权限
语法:REVOKE 权限 ON 数据库.数据表 FROM ‘用户’@‘IP地址’;

  • 被回收的权限必须存在,否则会出错
  • 整个数据库,使用 ON datebase.*;
  • 特定的表:使用 ON datebase.table;

方法1:回收指定权限
mysql> revoke insert on . from tq@‘192.168.150.%’;
Query OK, 0 rows affected (0.00 sec)
在这里插入图片描述
方法2:回收所有权限
mysql> revoke all on . from tq@‘192.168.150.%’;
Query OK, 0 rows affected (0.00 sec)
在这里插入图片描述

修改密码

===root修改自己密码
方法一:
语法: mysqladmin -uroot -p’123’ password ‘new_password’ #123为旧密码
案例:
mysqladmin -uroot -p’qf123’ password ‘qf@123’;

方法二:
set password=‘新密码’;
在这里插入图片描述
==root修改其他用户密码
mysql> use mysql 先进入这个表
mysql> set password for tian@‘192.168.150.%’=‘TianQing@123’;
在这里插入图片描述

删除用户

方法一:DROP USER语句删除
mysql> drop user tq@‘192.168.150.%’
在这里插入图片描述

方法二:DELETE语句删除 删除某一行的方法
mysql> delete from mysql.user where user=‘用户名’ and host=‘登录方式’^C
mysql> 上面这种方法 防止删除其他同名用户
在这里插入图片描述
更新授权表: FLUSH PRIVILEGES;

查看密码复杂度

MySQL 5.7默认启用了密码复杂度设置,插件名字叫做 validate_password,初始化之后默认是安装的如果没有安装执行下面的命令会返回空或者没有值,这时需要安装该插件
安装插件
mysql> INSTALL PLUGIN validate_password SONAME ‘validate_password.so’;

步骤:先查看这个文件
mysql> show variables like ‘validate%’;
在这里插入图片描述
在这里插入图片描述

4.设置密码复杂度

mysql> set global validate_password_length=1; #设置密码长度为1个
mysql> set global validate_password_number_count=2; #设置密码数字最少为2个
5.设置密码复杂性策略
mysql> set global validate_password_policy=LOW; 也可以是数字表示。#设置密码策略
mysql> flush privileges; #刷新授权

10.权限控制机制 了解

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值