zoukankan      html  css  js  c++  java
  • mysql查询相关的命令解析

    特:不重启mysql 更新配置文件方法(不允许重启mysql实例或连接不上msyql服务器):

    gdb -p $(pidof mysqld) -ex "set max_connections=1500" -batch

    导出 :

    1)mysqldump -uroot -proot --opt 库名 表名> "d:data1.sql"

    mysqldump -u root -p --no-data 库名 表名 >D:Pdata.sql

    Mysqldump导出的SQL文件如果不带绝对路径,默认是保存在bin目录下的。

      –opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过–opt参数在使用Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数

    2)mysql>select * from table into outfile 'xxx.txt';

    导入:source命令

      mysql>use 数据库
      然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
      mysql>source d:wcnc_db.sql

    一、获取日志信息的命令
    获取binlog文件列表
    show binary logs;
    查看当前正在写入的binlog文件
    show master statusG;
    查看错误日志的配置信息
    show variables like 'log_error';
    查看二进制日志ID配置信息
    show variables like 'log_bin';
    查看慢查询日志的配置信息
    show variables like '%slow%'

    mysql查询结果导出/输出/写入到文件
    1)直接执行命令:
    mysql> select count(1) from table into outfile '/tmp/test.xls';
    Query OK, 31 rows affected (0.00 sec)
    在目录/tmp/下会产生文件test.xls(前提mysql有对/tmp的写入权限)
    2)跳出mysql命令行
    [root@SHNHDX63-146 ~]# mysql -h 127.0.0.1 -u root -p XXXX -P 3306 -e "select * from table" > /tmp/test/txt


    定期删除二进制日志是DBA维护MYSQL数据库的一个重要的内容。
    1.通过reset master 命令
    执行reset master命令,该命令将删除所有的binlog日志。新的日志文件的编号从000001开始。
    2.通过purege master logs to命令
    通过执行purge master logs to'base_name.xxxxxx',删除‘xxxxxx'编号之前的所有日志。


    二、 二进制日志查询
    查看指定binlog文件的内容语法:
    SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]

    binlog文件实际上是由一连串的event组成的一个组,即事务组。
    查看二进制文件中全部事务
    SHOW BINLOG EVENTS IN 'mysql-bin.000005' G
    过滤查询
    SHOW BINLOG EVENTS IN 'mysql-bin.000005' FROM 194 LIMIT 2 G;

    使用mysqlbinlog查看binlog

    a、提取指定的binlog日志
    # mysqlbinlog /opt/data/APP01bin.000001
    # mysqlbinlog /opt/data/APP01bin.000001|grep insert
    b、提取指定position位置的binlog日志
    # mysqlbinlog --start-position="120" --stop-position="332" /opt/data/APP01bin.000001

    c、提取指定position位置的binlog日志并输出到压缩文件
    # mysqlbinlog --start-position="120" --stop-position="332" /opt/data/APP01bin.000001 |gzip >extra_01.sql.gz

    d、提取指定position位置的binlog日志导入数据库
    # mysqlbinlog --start-position="120" --stop-position="332" /opt/data/APP01bin.000001 | mysql -uroot -p

    e、提取指定开始时间的binlog并输出到日志文件
    # mysqlbinlog --start-datetime="2014-12-15 20:15:23" /opt/data/APP01bin.000002 --result-file=extra02.sql

    f、提取指定位置的多个binlog日志文件
    # mysqlbinlog --start-position="120" --stop-position="332" /opt/data/APP01bin.000001 /opt/data/APP01bin.000002|more

    g、提取指定数据库binlog并转换字符集到UTF8
    # mysqlbinlog --database=test --set-charset=utf8 /opt/data/APP01bin.000001 /opt/data/APP01bin.000002 >test.sql

    h、远程提取日志,指定结束时间
    # mysqlbinlog -urobin -p -h192.168.1.116 -P3306 --stop-datetime="2014-12-15 20:30:23" --read-from-remote-server mysql-bin.000033 |more

    i、远程提取使用row格式的binlog日志并输出到本地文件
    # mysqlbinlog -urobin -p -P3606 -h192.168.1.177 --read-from-remote-server -vv inst3606bin.000005 >row.sql

    三 、查看慢查询日志
    mysqldumpslow -s c -t 20 host-slow.log
    mysqldumpslow -s r -t 20 host-slow.log
    上述命令可以看出访问次数最多的 20 个 sql 语句和返回记录集最多的 20 个 sql
    mysqldumpslow -t 10 -s t -g "left join" host-slow.log
    这个是按照时间返回前 10 条里面含有左连接的 sql 语句。
    mysqldumpslow -s c -t 10 /database/mysql/slow-log
    这会输出记录次数最多的10条SQL语句,其中:
    -s order,是表示按照何种方式排序,order值有:c、t、l、r 分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒序;
    -t num,即为返回前面多少条的数据;
    -g pattern,pattern可以写一个正则匹配模式,大小写不敏感的;
    使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是非常重要的一步。
    相关命令

    四 、遇到Waiting for table metadata lock

    1) show processlist查看阻塞的查询 并kill

    2)select * from information_schema.innodb_trxG 查看未提交事务 并kill  trx_mysql_thread_id

    3)从performance_schema.events_statements_current表中可以查到失败的语句 并kill即可

    五、清空库下表:

    可执行如下语句进行生成清空语句

    SELECT CONCAT('TRUNCATE TABLE ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='库名';
    
  • 相关阅读:
    素敵な日本人 2-1
    十年目のバレンタインデー のほか
    水晶の数珠  3
    水晶の数珠  2
    STM32 USB HID BarCodeReader不兼容问题的解决
    水晶の数珠 1
    クリスマスミステリ 2
    クリスマスミステリ 1
    サファイア奇跡 3
    感悟成功
  • 原文地址:https://www.cnblogs.com/lx823706/p/7001784.html
Copyright © 2011-2022 走看看