权限管理
我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、grant等操作。那么一般情况DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:
- 如何创建用户和密码
- 给当前的用户授权
- 移除当前用户的权限
如果你想创建一个新的用户,则需要以下操作:
1、进入到mysql数据库下
mysql> use mysql Database changed
2、对新用户增删改
2.1、创建用户: # 指定ip:192.168.1.1的tom用户登录 create user 'tom'@'192.168.1.1' identified by '123'; # 指定ip:192.168.1.开头的tom用户登录 create user 'tom'@'192.118.1.%' identified by '123'; # 指定任何ip的tom用户登录 create user 'tom'@'%' identified by '123'; 2.2、删除用户 drop user '用户名'@'IP地址'; 2.3、修改用户 rename user '用户名'@'IP地址' to '新用户名'@'IP地址'; 2.4、修改密码 set password for '用户名'@'IP地址'=Password('新密码');
3、对当前的用户授权管理
#查看权限 show grants for '用户'@'IP地址' #授权tom用户仅对db1.t1文件有查询、插入和更新的操作 grant select ,insert,update on db1.t1 to "tom"@'%'; # 表示有所有的权限,除了grant这个命令,这个命令是root才有的。 #tom用户对db1下的t1文件有任意操作 grant all privileges on db1.t1 to "tom"@'%'; #tom用户对db1数据库中的文件执行任何操作 grant all privileges on db1.* to "tom"@'%'; #tom用户对所有数据库中文件有任何操作 grant all privileges on *.* to "tom"@'%'; #取消权限 # 取消tom用户对db1的t1文件的任意操作 revoke all on db1.t1 from 'tom'@"%"; # 取消来自远程服务器的tom用户对数据库db1的所有表的所有权限 revoke all on db1.* from 'tom'@"%"; 取消来自远程服务器的tom用户所有数据库的所有的表的权限 revoke all privileges on *.* from 'tom'@'%'; ps:在公司中,一般情况下是DBA工程师来做这些授权工作。给你一个用户名和密码,你来连接就可以了。
4、MySql备份命令行操作
# 备份:数据表结构+数据 mysqdump -u root db1 > db1.sql -p # 备份:数据表结构 mysqdump -u root -d db1 > db1.sql -p # 导入现有的数据到某个数据库 #1).先创建一个新的数据库 create database db10; # 将已有的数据库文件导入到db10数据库中 mysqdump -u root -d db10 < db1.sql -p
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用