当前位置: 首页 > article >正文

MySQL 命令(持续更新)

  • 将 MySQL 命令结果输出到文件中

    通过 k8s MySQL pod 里的客户端连接到 MySQL 服务器

    kubectl exec mysql-pod -- mysql -hx.x.x.x -uroot -proot -e 'SELECT * FROM db.table;' > result.txt
    
  • 通过 k8s MySQL pod 的客户端连接 MySQL 服务器,直接进入到 MySQL 客户端界面

    kubectl exec -it mysql-pod -- mysql  -hx.x.x.x -uroot  -proot
    
  • 输出查询结果时如果要根据条件输出不同的值,可以使用 CASE 语句

    • 当 flag 字段不为 NULL 时,输出 flag 字段的值;
    • 否则再检查 code 字段是否为 NULL,code 字段不为 NULL 时,name1 和 name2 相等则输出 0,不相等则输出 1;
    • code 字段为 NULL,则输出 NULL。
    SELECT id, 
        CASE
            WHEN flag IS NOT NULL THEN flag
            WHEN code IS NOT NULL THEN
                CASE
                    WHEN name_1 = name_2 THEN 0
                    ELSE 1
                END
            ELSE NULL
        END AS result
    FROM table_1;
    
  • update 也支持 join

    如果 t1 关联 t2 有多条记录,则会用关联的第 1 条记录更新

    UPDATE db.table_1 t1 join db.table1_2 t2 on t1.s_id = t2.s_id set t1.order_no = t2.order_num where t1.order_num is null;
    
  • 查询某个表中字段 1 和字段 2 的值不唯一的记录

    SELECT service1_id, service2_id, COUNT(*)
    FROM table_1
    GROUP BY service1_id, service2_id
    HAVING COUNT(*) > 1;
    
  • MySQL 服务器开启 SQL 日志记录

    // 查看 SQL 日志记录是否开启
    mysql> SHOW VARIABLES LIKE 'general_log';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | general_log   | OFF   |
    +---------------+-------+
    1 row in set (0.00 sec)
    
    // 如何没有开启执行这条命令开启
    SET global general_log = 1;
    
    // 查看日志输出格式是否是 FILE
    mysql> SHOW VARIABLES LIKE 'log_output';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_output    | FILE  |
    +---------------+-------+
    1 row in set (0.00 sec)
    
    // 查看日志记录的文件
    mysql> SHOW VARIABLES LIKE 'general_log_file';
    +------------------+------------------------------------------------------+
    | Variable_name    | Value                                                |
    +------------------+------------------------------------------------------+
    | general_log_file | /var/lib/mysql/data/mydata/ae94c55f6df-a7c1901-0.log |
    +------------------+------------------------------------------------------+
    1 row in set (0.01 sec)
    
    // 必要时可以设置日志输出文件,一般用上一步查出来的日志查看即可
    SET global general_log_file = '/var/log/mysql/general.log';
    
    // 查看日志内容
    tail -n 50 /var/lib/mysql/data/mydata/ae94c55f6df-a7c1901-0.log
    
  • 通过 k8s MySQL pod 导出表数据

    kubectl exec mysql-pod -- mysqldump -hx.x.x.x -uroot -proot --set-gtid-purged=OFF db_1 table_1 table_2 > dump.sql
    
  • 通过 k8s MySQL pod 导入表数据

    kubectl exec mysql-pod -- mysql -hx.x.x.x -uroot -proot db_1 < input.sql
    

http://www.kler.cn/a/349998.html

相关文章:

  • 【Linux网络编程】传输层协议
  • nginx分发请求超时切换服务
  • 电子应用设计方案102:智能家庭AI鱼缸系统设计
  • 基于JAVA的微信点餐小程序设计与实现(LW+源码+讲解)
  • 【阿里云】使用docker安装nginx后可以直接访问
  • Android OpenGL(六) 纹理
  • 树莓派应用--AI项目实战篇来啦-11.OpenCV定位物体的实时位置
  • 【C语言复习专题】函数
  • TQRFSOC开发板47DR 100G光口ping测试
  • Rust引用与C++取地址、引用的区别(C++引用、Rust解引用、C++指针)
  • 前端文件上传的实现方式
  • Spring Boot:中小型医院网站的安全保障
  • IDEA中git如何快捷的使用Cherry-Pick功能
  • 《YOLO3》论文精读:3项优化和Darknet-53让YOLO3奠定了YOLO系列的基石
  • InternVid:用于多模态视频理解与生成的大规模视频-文本数据集 | ICLR Spotlight
  • Python 脚本来自动发送每日电子邮件报告
  • 后渗透利用之vcenter
  • 点击按钮修改文本--thinkphp8与ElementPlus
  • Spring使用注解进行依赖注入
  • Linux——rz+sz命令
  • 【数据分享】中国农村贫困监测报告2000-2020年(2012-2014年未发布)
  • 又一款国产自动化测试平台,开源了!
  • k8s Node节点维护
  • 什么是大数据治理?大数据治理未来趋势是什么?
  • FFmpeg的简单使用【Windows】--- 指定视频的时长
  • Nacos微服务配置管理和拉取