zoukankan      html  css  js  c++  java
  • Mysql 学习笔记2

    (1)MySQL查看表占用空间大小

    //先进去MySQL自带管理库:information_schema
    //自己的数据库:dbwww58com_kuchecarlib
    //自己的表:t_carmodelparamvalue

    mysql> use information_schema; 
    Database changed 
    mysql> select data_length,index_length 
    from tables where 
    table_schema='your_database' 
    and table_name = 'your_table'; 
    +-------------+--------------+ 
    | data_length | index_length | 
    +-------------+--------------+ 
    | 166379520 | 235782144 | 
    +-------------+--------------+ 
    row in set (0.02 sec) 
    
    mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, 
    concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB 
    from tables where 
    table_schema='your_database' 
    and table_name = 'your_table'; 
    +----------------+-----------------+ 
    | data_length_MB | index_length_MB | 
    +----------------+-----------------+ 
    | 158.67MB | 224.86MB | 
    +----------------+-----------------+ 
    row in set (0.03 sec)

    (2)慢查询

    1. 慢查询有什么用?

    它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.

    2. 如何开启慢查询?

    首先我们先查看MYSQL服务器的慢查询状态是否开启.执行如下命令:

    show variables like '%quer%';

     

    我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询.

    开启慢查询非常简单, 操作如下:

    Linux下找到mysql的配置文件/etc/my.cnf, 在mysqld下方加入慢查询的配置语句(注意:一定要在[mysqld]下的下方加入)

      

    log-slow-queries = C:/Program Files/MySQL/MySQL Server 5.1/log/mysql-slow.log
    long_query_time = 3

    log-slow-queries: 代表MYSQL慢查询的日志存储目录, 此目录文件一定要有写权限;

    Windows下需要写绝对路径my.ini,如:log-slow-queries="C:/Program Files/MySQL/MySQL Server 5.5/log/mysql-slow.log"

    long_query_time: 最长执行时间. (如图, MSYQL将记录下所有执行时间超过2条的SQL语句, 此处为测试时间, 时间不应太小最好在5-10秒之内, 当然可以根据自己的标准而定);

    配置好以后重新启动一个MYSQL服务

    (3)当前时间添加分钟

     select date_add(now(), interval 1 minute);

    (4)复制表

    -- 第一种 先创建表再拷贝数据
    CREATE TABLE `id_interface_call_url_bak20180508` (
      `interface_id` bigint(30) NOT NULL AUTO_INCREMENT,
      `interface_call_url` varchar(200) DEFAULT NULL,
      `inner_interface_call` int(1) DEFAULT NULL COMMENT '是否接口内部调用:0:否;1:是',
      `send_request_msg` varchar(500) DEFAULT NULL,
      `desc_call` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`interface_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=300001 DEFAULT CHARSET=utf8;
    INSERT INTO id_interface_call_url_bak20180508 SELECT * FROM id_interface_call_url;


    -- 第二种直接从原来创建表,缺点是主键等信息丢失
    CREATE TABLE id_interface_call_url_bak AS SELECT * FROM id_interface_call_url;


    -- 第三种
    CREATE  TABLE IF NOT EXISTS tb_base_like2 (LIKE id_user_info_level);
    INSERT INTO tb_base_like2 SELECT * FROM id_user_info_level;

    (5)安装过程命令

    mysqld –remove

    mysqld --initialize-insecure

    mysqld --install mysql

    mysqld --console

    mysqld --initialize-insecure

    (6)事务

    1、查看

    SELECT @@tx_isolation

    2、设置事务级别

    set transaction isolation level  read uncommitted;
    1)read uncommitted : 读取尚未提交的数据 :哪个问题都不能解决
    2)read committed:读取已经提交的数据 :可以解决脏读 ---- oracle默认的
    3)repeatable read:重读读取:可以解决脏读 和 不可重复读 ---mysql默认的
    4)serializable:串行化:可以解决 脏读 不可重复读 和 虚读---相当于锁表

     3、事务命令

    start transaction;
    commit;
    rollback;

     4、创建用户并创建数据库及赋权

    root登录

    select host,user from mysql.user;

    create user test identified by '123@456';
    grant all privileges on *.* to 'test'@'%'identified by '123@456' with grant option;
    flush privileges ;
    参考:https://blog.csdn.net/xieyunc/article/details/80255742
  • 相关阅读:
    Android开发视频教学第一季(116集)视频&源码下载
    Android开发视频教学第一季(1734集)视频源码下载
    老罗Android开发视频教程( android解析json数据 )4集集合
    Android 亲测源码分享
    老罗Android开发视频教程 (android常用UI编程) 25集集合
    老罗Android开发视频教程 (android常用布局介绍)5集集合
    老罗Android开发视频教程 (android解析xml文件 )3集集合
    Android 开发源码分享
    基于R语言的时间序列分析预测
    .NET新手系列(六)
  • 原文地址:https://www.cnblogs.com/langdangyunliu/p/6120779.html
Copyright © 2011-2022 走看看