MySQL创建表内存爆掉问题复现

发布于:2024-06-27 ⋅ 阅读:(114) ⋅ 点赞:(0)

问题复现

select * from information_schema.view_table_usage;

检查权限

查询库下表信息,放入在内存中,一直循环,直到内存溢出

创建测试数据

#!/bin/bash

password=rootroot
sock=/mysql/data/3306/mysql.sock

read -p '请输入想要创建的数据库的个数:' dbs
read -p '请输入每个数据库下要创建的表的个数:' tbs
read -p '请输入每个数据库下要创建的视图的个数:' vws

for i in `seq 1 $dbs`
do
mysql -uroot -p$password --socket=$sock -se "create database testdb$i;"
   for j in `seq 1 $tbs`
   do
   mysql -uroot -p$password --socket=$sock -se "create table testdb$i.test_t$j(id int,col1 varchar(100));"
     for k in `seq 1 $vws`
	 do
     mysql -uroot -p$password -D testdb$i --socket=$sock -se "create view test_v$k as select * from test_t1;"
	 done
   done
done

相关SQL

10
20
10
select * from information_schema.tables where regexp_like(TABLE_SCHEMA,'testdb') and TABLE_TYPE='VIEW';
select * from information_schema.VIEW_TABLE_USAGE where table_name = 'test_t1';

drop database testdb1;
drop database testdb2;
drop database testdb3;
drop database testdb4;
drop database testdb5;
drop database testdb6;
drop database testdb7;
drop database testdb8;
drop database testdb9;
drop database testdb10;
drop database testdb11;
drop database testdb12;
drop database testdb13;
drop database testdb14;
drop database testdb15;
drop database testdb16;
drop database testdb17;
drop database testdb18;
drop database testdb19;
drop database testdb20;

网站公告

今日签到

点亮在社区的每一天
去签到