【SQL学习进阶】从入门到高级应用【DBA命令】

在这里插入图片描述

🌈你好呀!我是 山顶风景独好
💕欢迎来到我的博客,很高兴能够在这里和您见面!
💕希望您在这里可以感受到一份轻松愉快的氛围!
💕这里不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

🏠大家订阅本专栏!本专栏旨在为SQL初学者提供一条逐步迈向高级应用的学习之路,带您从零开始,一步一步练习,逐步掌握SQL的精髓,实现技能的提升与飞跃!😊

新建用户

创建一个用户名为java1,密码设置为123的本地用户:

create user 'java1'@'localhost' identified by '123';

创建一个用户名为java2,密码设置为123的外网用户:

create user 'java2'@'%' identified by '123';

采用以上方式新建的用户没有任何权限:系统表也只能看到以下两个
image.png
使用root用户查看系统中当前用户有哪些?

select user,host from mysql.user;

给用户授权

授权语法:grant [权限1,权限2…] on 库名.表名 to ‘用户名’@‘主机名/IP地址’;
给本地用户授权:grant [权限1,权限2…] on 库名.表名 to ‘用户名’@‘localhost’;
给外网用户授权:grant [权限1,权限2…] on 库名.表名 to ‘用户名’@‘%’;
所有权限:all privileges
细粒度权限:select、insert、delete、update、alter、create、drop、index(索引)、usage(登录权限)…
库名可以使用 * ,它代表所有数据库
表名可以采用 * ,它代表所有表
也可以提供具体的数据库和表,例如:powernode.emp (powernode数据库的emp表)

# 将所有库所有表的查询权限赋予本地用户java1
grant select,insert,delete,update,create on *.* to 'java1'@'localhost';

# 将powernode库中所有表的所有权限赋予本地用户java1
grant all privileges on powernode.* to 'java1'@'localhost';

授权后必须刷新权限,才能生效:flush privileges
查看某个用户拥有哪些权限?
show grants for ‘java1’@‘localhost’
show grants for ‘java2’@‘%’

with grant option:

# with grant option的作用是:java2用户也可以给其他用户授权了。
grant select,insert,delete,update on *.* to 'java2'@'%' with grant option;

撤销用户权限

revoke 权限 on 数据库名.表名 from ‘用户’@‘IP地址’;

# 撤销本地用户java1的insert、update、delete权限
revoke insert, update, delete on powernode.* from 'java1'@'localhost'

# 撤销外网用户java2的insert权限
revoke insert on powernode.* from 'java2'@'%'

撤销权限后也需要刷新权限:flush privileges

注意:撤销权限时 “数据库名.表名” 不能随便写,要求和授权语句时的 “数据库名.表名” 一致。

修改用户的密码

具有管理用户权限的用户才能修改密码,例如root账户可以修改其他账户的密码:

# 本地用户修改密码
alter user 'java1'@'localhost' identified by '456';

# 外网用户修改密码
alter user 'java2'@'%' identified by '456';

修改密码后,也需要刷新权限才能生效:flush privileges
以上是MySQL8版本以后修改用户密码的方式。

修改用户名

rename user '原始用户名'@'localhost' to '新用户名'@'localhost';
rename user '原始用户名'@'localhost' to '新用户名'@'%';

rename user 'java1'@'localhost' to 'java11'@'localhost';
rename user 'java11'@'localhost' to 'java123'@'%';

flush privileges;

删除用户

drop user 'java123'@'localhost';
drop user 'java2'@'%';

flush privileges;

数据备份

  • 导出数据(请在登录mysql数据库之前进行)
# 导出powernode这个数据库中所有的表
mysqldump powernode > e:/powernode.sql -uroot -p1234 --default-character-set=utf8

# 导出powernode中emp表的数据
mysqldump powernode emp > e:/powernode.sql -uroot -p1234 --default-character-set=utf8
  • 导入数据第一种方式:(请在登录mysql之前进行)
# 现在登录mysql状态下新建一个数据库
create database powernode;
# 在登录mysql之前执行以下命令
mysql powernode < e:/powernode.sql -uroot -p1234 --default-character-set=utf8
  • 导入数据第二种方式:(请在登录mysql之后操作)
create  database powernode;
use powernode;
source d:/powernode.sql

✨ 这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 我在CSDN等你哦!我的主页😍

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值