场景
本地mysql数据库,使用权限最高的root用户实现将sql文件导入。
导入基本表后,切换权限低的用户,后期更新部分表时,只拥有部分表操作的权限。
所以只能导入操作有权限表的sql语句。
实现
场景1初次部署数据库
登录root账户,此用户权限最高。
使用Navicat建立连接,不要勾选保存密码。
连接后导入sql文件
实现将所有表导入
新建用户,点击用户菜单
点击新建用户
填上基本信息如图,然后选择权限选项
点击添加权限
勾选相应的表,在右边需要授予的权限进行勾选
权限详情明细:
CREATE 数据库、表或索引 | 数据库、表或索引 | 创建数据库、表或索引权限 |
DROP | 数据库或表 | 删除数据库或表权限 |
DELETE | 表 | 删除数据权限 |
SELECT | 表 | 查询权限 |
UPDATE | 表 | 更新权限 |
INSERT | 表 | 插入权限 |
ALTER | 表 | 更改表,比如添加字段、索引等 |
SHOW VIEW | 视图 | 查看视图权限 |
CREATE VIEW | 视图 | 创建视图权限 |
GRANT OPTION | 数据库、表或保存的程序 | 赋予权限选项 |
REFERENCES | 数据库或表 | |
INDEX | 表 | 索引权限 |
ALTER ROUTINE | 存储过程 | 更改存储过程权限 |
CREATE ROUTINE | 存储过程 | 创建存储过程权限 |
EXECUTE | 存储过程 | 执行存储过程权限 |
FILE | 服务器主机上的文件访问 | 文件访问权限 |
CREATE TEMPORARY TABLES | 服务器管理 | 创建临时表权限 |
LOCK TABLES | 服务器管理 | 锁表权限 |
CREATE USRE | 服务器管理 | 创建用户权限 |
PROCESS | 服务器管理 | 查看进程权限 |
RELOAD | 服务器管理 | 执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限 |
REPLICATION CLIENT | 服务器管理 | 复制权限 |
REPLICATION SLAVE | 服务器管理 | 复制权限 |
SHOW DATABASES | 服务器管理 | 查看数据库权限 |
SHUTDOWN | 服务器管理 | 关闭数据库权限 |
SUPER | 服务器管理 | 执行kill线程权限 |
对当前用户授予相应表相应的权限后
点击确定
如果要删除权限
设置完权限后点击保存
此时选择刚才建立的连接,点击编辑连接
先关闭连接后来到编辑页面
将连接用户改为刚才授予相应权限的用户
场景2更改基本数据后
更改基本数据后,需要同步更新
选中要更新的表,右键选择
选项仅结构:仅同步结构不同步数据
选项结构和数据:同步表中结构以及数据
注意:要更新的表对于要导入sql文件的用户来说一定要有相应的权限才能执行成功。
对于需要更新表的PC以及用户
选择运行sql文件