zoukankan      html  css  js  c++  java
  • MySQL SELECT语句中只能输出1000行数据的原因

    同事反映,客户的一套MySQL生产库,执行SELECT.. INTO OUTFILE语句只能导出1000行

    最初以为是系统参数被重新设置了,建议他更改系统参数

    mysql> set global sql_select_limit=50000000;
    Query OK, 0 rows affected (0.00 sec)

    同事反映,没有生效

    登陆到数据库,查看系统参数,发现全局的参数已经生效

    mysql> show global variables like 'sql_select_limit';
    +------------------+----------+
    | Variable_name    | Value    |
    +------------------+----------+
    | sql_select_limit | 50000000 |
    +------------------+----------+
    1 row in set (0.00 sec)

    查看会话级参数,发现依然是1000

    mysql> show session variables like 'sql_select_limit';
    +------------------+-------+
    | Variable_name    | Value |
    +------------------+-------+
    | sql_select_limit | 1000  |
    +------------------+-------+
    1 row in set (0.00 sec)

    查看官方文档,发现当启动数据库时指定了--safe-updates参数,当会话连接到数据库后,会将sql_select_limit参数设为1000

    When you use the --safe-updates option, mysql issues the following statement when it connects to
    the MySQL server:
    SET sql_safe_updates=1, sql_select_limit=1000, max_join_size=1000000;

    重新启动数据库,去掉--safe-updates参数,数据库恢复正常
    mysqld_safe --defaults-file=/etc/my.cnf &

    我也按照上面的指示操作,成功了。

    摘选自:https://blog.csdn.net/liqfyiyi/article/details/72137652

  • 相关阅读:
    如何学习Java基础
    什么阻碍手动测试发挥价值
    API自动化测试指南
    筛选自动化测试用例的技巧
    拷贝HttpRequestBase对象
    测试自动化的边缘DevTestOps
    2019年浏览器市场份额排行榜
    CentOS7 通过 YUM 升级 VIM8
    vim配置go语法高亮
    打开程序总是会提示 "Enter password to unlock your login keyring"
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/9879070.html
Copyright © 2011-2022 走看看