美文网首页
mysql information_schema数据库

mysql information_schema数据库

作者: 沐兮_d64c | 来源:发表于2019-05-22 11:31 被阅读0次

    1,数据表

    1)schemata表 :mysql所有数据库的信息,show databases; 命令取的是shema_name列。
    select * from information_schema.schemata;
    2)tables表 :mysql所有的表信息,show tables from test_db;命令根据table_schema列取table_name
    select * from information_schema.tables where table_schema = "information_schema";
    3)columns表:mysql所有列的信息,show columns from schemaname.tablename;底层取自该表
    select column_name from columns where table_schema = "information_schema" and table_name = "columns";
    4)statistics表:mysql所有索引的信息,show index from shemaname.tablename;命令底层取自statistics表
    select * from information_schema.statistics limit 1;
    5)triggers表:mysql所有的触发器。如使用pt-online-schema-change修改表结构时,使用触发器往影子表更新。如果手动删除了影子表,触发器不删除,则会产生故障。
    6)views表:mysql所有的视图。
    7)user_privileges表:mysql所有用户权限。用户表:mysql.user,权限表information_schema.user_privileges

    2,相关使用

    1)增加用户与授权

    image.png
    2)分库分表时,拼接sql
    select concat(table_schema,'.',table_name) from information_schema.tables where table_schema like '%_order_%';
    3)根据tables表的data_length,index_length(单位是字节)计算库大小、表大小、索引大小。
    如: 查看information_schema库的大小select sum(data_length + index_length)/1024/1024 from information_schema.tables where table_schema = "information_schema";
    如:查看指定表则增加and table_name = ""
    4)使用pt_online_schema_change,影子表不存在报错时,检查traggers表。
    5)查看表的最后更新时间
    ls -lahtr /usr/local/mysql/data/my_order_local | grep ibd
    -t:Sort by time modified 默认升序
    -r:Reverse the order 顺序反转

    相关文章

      网友评论

          本文标题:mysql information_schema数据库

          本文链接:https://www.haomeiwen.com/subject/rlhyzqtx.html