突破MySQL视图限制:获取创建视图的SQL语句

本文分享了一种突破MySQL视图创建时使用load_file()函数限制的方法,包括必须满足的条件,如文件位置、权限、文件大小限制及secure_file_priv变量设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     视图本质上只是一条SQL语句而已、但令人蛋疼的是MySQL并没有把该SQL语句存储下来
     而是像对待表一样、把视图的定义用文件的形式保存、以 .frm 存在
     那么用show create view 显示的SQL将非常不友好
     

     下面介绍一种方法来突破这种限制


创建视图:

mysql> create view v_t as select id from t where id=2;
Query OK, 0 rows affected (0.03 sec)

到相应目录查找视图定义文件:

[mysql@obe11g test]$ pwd
/home/mysql/mysql/data/test
[mysql@obe11g test]$ ls -alh
total 128K
drwxr-xr-x  2 mysql dba 4.0K Jul 27 19:45 .
drwxr-xr-x  5 mysql dba 4.0K Jul 27 19:13 ..
-rw-r--r--  1 mysql dba   65 Jun 19 10:20 db.opt
-rw-rw----  1 mysql dba 8.4K Jul 24 19:58 t.frm
-rw-rw----  1 mysql dba  96K Jul 27 19:44 t.ibd
-rwxrwxrwx  1 mysql dba  451 Jul 27 19:45 v_t.frm


先用 show create view查询:

mysql> show create view v_t;
+------+------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值