用户权限和备份恢复
真实项目不要直接用 root 账号连接数据库。
应该给项目创建单独账号,并且只授予它需要的权限。
一、为什么不要用 root
root 是 MySQL 超级管理员。
如果后端项目配置了 root:
- 代码泄漏时风险很大。
- 误操作可能影响所有数据库。
- 权限边界不清晰。
更好的做法是:
- 每个项目一个数据库。
- 每个项目一个数据库账号。
- 只授权这个账号访问自己的数据库。
二、创建项目用户
使用 root 登录 MySQL 后执行:
含义:
如果后端服务和 MySQL 不在同一台机器上,需要按实际来源主机授权,不要随意使用 %。
三、授权访问指定数据库
只授权访问 mysql_tutorial:
如果项目需要执行建表和迁移,可以额外给结构变更权限:
本地练习时可以理解为:
四、查看权限
可以看到这个用户拥有哪些权限。
五、撤销权限
撤销删除权限:
删除用户:
六、备份数据库
常用命令行工具是 mysqldump。
备份整个数据库:
含义:
备份指定表:
七、恢复数据库
先创建数据库:
再在命令行执行:
注意:
- 这是系统命令,不是在
mysql>提示符里执行。 - 恢复前要确认目标数据库是否已有数据。
- 真实环境恢复前建议先备份当前数据。
八、导出查询结果
有时只想导出查询结果,可以用 MySQL 客户端:
也可以在图形化工具里导出 CSV。
如果导出用户数据,要注意隐私和敏感字段,不要随意导出密码哈希、手机号、邮箱等数据。
九、基础安全习惯
十、后端项目配置示例
后端通常用环境变量保存数据库连接信息:
不要把真实密码提交到 Git 仓库。
可以提交一个示例文件:
真实密码放在本地 .env 或服务器环境变量里。

