加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- AI行业应用、大数据、建站、语音技术、研发安全!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

【MySQL】MySQL修改用户名后无法使用视图

发布时间:2023-05-24 02:03:14 所属栏目:MsSql教程 来源:转载
导读: 数据库做迁移以后,关闭了MySQL数据库的远程访问,只能通过指定的host进行连接。通过访问时报错mssql 使用视图,具体错误信息如下
[Err] 1045 - Access denied for user 'iqm'@'%' (using

数据库做迁移以后,关闭了MySQL数据库的远程访问,只能通过指定的host进行连接。通过访问时报错mssql 使用视图,具体错误信息如下

[Err] 1045 - Access denied for user 'iqm'@'%' (using password: YES)

原因: 创建 view 默认情况下,MySQL view 安全验证的方式(SQL SECURITY)是 definer方式。另外一种方式为 invoker,这两种方式区别如下

视图的创建语法:

CREATE
    [OR REPLACE]
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    [DEFINER = { user | CURRENT_USER }]
    [SQL SECURITY { DEFINER | INVOKER }]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

eg: definer 模式创建视图

create definer='root'@'%' 
view demo as
...

eg: invoker 模式创建视图

create definer='root'@'%'
SQL SECURITY INVOKER
view demo as
...

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章