分析原因:由于创建视图的用户不同,创建视图时都是用的服务器数据库上专用的用户,防止表库的误操作,本地数据库一般安装后只会新建一个root用户,因此需要创建新用户并赋予用户权限即可。
查看已复制的视图报错信息如下:
明显是因为本地没有该用户。查看本地数据库用户列表如下:
select * from mysql.user;
创建新用户
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
查看用户列表:
select * from mysql.user;
但是该新用户没有操作权限,给用户授权。
这里授予了用户所有权限,可根据实际情况授权
grant all on *.* to 用户名@'%';
如下授权:
grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@’%’
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.* to common_user@’%’
再查看用户列表
select * from mysql.user;
最后重要的一部不用忘记刷新用户权限。执行sql
flush privileges;
再去复制视图
发现还有一张视图不能复制,可能视图之间存在引用,尝试单独先复制这张报错的视图
成功了。
再去复制粘贴所有视图:
OK,所有数据复制成功!