MySQL数据库管理员(DBA)

文章目录

数据库管理员 (DBA)

新建用户

sql 复制代码
创建本地用户
create user '用户名'@'localhost' identified by '密码'

创建外网用户
create user '用户名'@'%' identified by '密码';

默认没有任何权限


使用 root 用户查看系统中当前用户有哪些

sql 复制代码
select user, host from mysql.user


给用户授权

sql 复制代码
授权语法
GRANT 权限,权限2... on 库名.表名 to '用户名'@'主机名/ip地址'

给本地用户授权
grant 权限1,权限2... on 库名.表名 to '用户名'@'localhost'/127.0.0.1;

给外网用户授权
grant [权限1,权限2...] on 库名.表名 to '用户名'@'外网ip';
外网ip如果是%: 这个用户可以从任何地方连接到数据库服务器

权限:
所有权限:all privileges

单个权限:select、insert、delete、update、alter、create、drop、index(索引)、usage(登录权限)......

库名可以使用 * ,它代表所有数据库
表名可以采用 * ,它代表所有表
也可以提供具体的数据库和表,例如:powernode.emp (powernode数据库的emp表)

授权后必须刷新权限,才能生效:flush privileges


查看某个用户有哪些权限

sql 复制代码
show grants for '用户名'@'主机名/ip地址'

最后带上 with grant option的作用是:这个用户也可以把自己有的权限授权给别的用户


撤销用户权限

sql 复制代码
revoke 权限 on 数据库名.表名 from '用户'@'ip地址'

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

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



修改用户的密码

SQL 复制代码
alter user '用户名'@'主机名/ip地址' identified by '新密码';

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



修改用户名

sql 复制代码
rename user '原始用户名'@'主机名/ip地址' to '新用户名'@'主机名/ip地址'

需要 flush privileges



删除用户

sql 复制代码
drop user '用户名'@'主机名/ip地址'

==需要 flush privileges



数据备份

导出数据(在登录mysql数据库之前进行)

sql 复制代码
mysqldump 库名 [表名] > 地址 -u用户 -p密码 --default-character-set = 字符集
每表名就是导出整个库的数据


例如:
# 导出powernode中emp表的数据
mysqldump powernode emp > e:/powernode.sql -uroot -p1234 --default-character-set=utf8

导入数据第一种方式(在登录mysql数据库之前进行)

sql 复制代码
就是
mysqldump 库名 [表名] < 地址 -u用户 -p密码 --default-character-set = 字符集
#没表名就是导入整个库的数据

例如:
# 现在登录mysql状态下新建一个数据库
create database powernode;
# 在登录mysql之前执行以下命令
mysql powernode < e:/powernode.sql -uroot -p1234 --default-character-set=utf8

导入第二种方式(在登录mysql数据库之前进行)

sql 复制代码
create  database 库;
use 库;
source sql文件地址【或者直接拖进来】
相关推荐
这个DBA有点耶7 分钟前
VLDB 2026核心议题解读:当负载被AI改写,数据库的内核该往哪走?
数据库·架构·aigc
2601_962284508 分钟前
Python 和Java 哪个更适合做自动化测试?
java·自动化测试·python·接口测试·性能测试
随遇而安zx19 分钟前
【多线程】---AQS 原理 知识点(设计思想与源码深度解析)
java·多线程·aqs
LXMXHJ23 分钟前
springboot中的线程操作
java·spring boot·后端·线程
泡泡鱼(敲代码中)30 分钟前
Python语法技术学习笔记
开发语言·笔记·python·学习·pycharm
敲代码的嘎仔31 分钟前
自己设计了一个兑换码算法:自增ID + Base32转码 + 按位加权签名 + 异或混淆,面试被追问细节时终于不用慌了
java·数据库·mysql·算法·微服务·面试·职场和发展
shirsl1 小时前
数据开发实时项目问题整理
数据库·sql·big data
m0_587383001 小时前
外卖CPS系统开发实战:从架构设计到运营落地全指南
java·spring·小程序·架构·需求分析
zhangzeyuaaa1 小时前
Python asyncio 事件循环演进:从手动管理到现代化实践
java·服务器·python
bbq粉刷匠1 小时前
数据库设计实践
数据库