zoukankan      html  css  js  c++  java
  • Mysql:As of 8.0.16:--validate-config:新增的服务器配置验证特效:good!

    5.1.3 Server Configuration Validation

    As of MySQL 8.0.16, MySQL Server supports a --validate-config option that enables the startup configuration to be checked for problems without running the server in normal operational mode:

    mysqld --validate-config

    If no errors are found, the server terminates with an exit code of 0. If an error is found, the server displays a diagnostic message and terminates with an exit code of 1. For example:

    shell> mysqld --validate-config --no-such-option
    2018-11-05T17:50:12.738919Z 0 [ERROR] [MY-000068] [Server] unknown
    option '--no-such-option'.
    2018-11-05T17:50:12.738962Z 0 [ERROR] [MY-010119] [Server] Aborting
    

    The server terminates as soon as any error is found. For additional checks to occur, correct the initial problem and run the server with --validate-config again.

    For the preceding example, where use of --validate-config results in display of an error message, the server exit code is 1. Warning and information messages may also be displayed, depending on the log_error_verbosity value, but do not produce immediate validation termination or an exit code of 1. For example, this command produces multiple warnings, both of which are displayed. But no error occurs, so the exit code is 0:

    shell> mysqld --validate-config --log_error_verbosity=2
             --read-only=s --transaction_read_only=s
    2018-11-05T15:43:18.445863Z 0 [Warning] [MY-000076] [Server] option
    'read_only': boolean value 's' was not recognized. Set to OFF.
    2018-11-05T15:43:18.445882Z 0 [Warning] [MY-000076] [Server] option
    'transaction-read-only': boolean value 's' was not recognized. Set to OFF.
    

    This command produces the same warnings, but also an error, so the error message is displayed along with the warnings and the exit code is 1:

    shell> mysqld --validate-config --log_error_verbosity=2
             --no-such-option --read-only=s --transaction_read_only=s
    2018-11-05T15:43:53.152886Z 0 [Warning] [MY-000076] [Server] option
    'read_only': boolean value 's' was not recognized. Set to OFF.
    2018-11-05T15:43:53.152913Z 0 [Warning] [MY-000076] [Server] option
    'transaction-read-only': boolean value 's' was not recognized. Set to OFF.
    2018-11-05T15:43:53.164889Z 0 [ERROR] [MY-000068] [Server] unknown
    option '--no-such-option'.
    2018-11-05T15:43:53.165053Z 0 [ERROR] [MY-010119] [Server] Aborting
    

    The scope of the --validate-config option is limited to configuration checking that the server can perform without undergoing its normal startup process. As such, the configuration check does not initialize storage engines and other plugins, components, and so forth, and does not validate options associated with those uninitialized subsystems.

    --validate-config can be used any time, but is particularly useful after an upgrade, to check whether any options previously used with the older server are considered by the upgraded server to be deprecated or obsolete. For example, the tx_read_only system variable was deprecated in MySQL 5.7 and removed in 8.0. Suppose that a MySQL 5.7 server was run using that system variable in its my.cnf file and then upgraded to MySQL 8.0. Running the upgraded server with --validate-config to check the configuration produces this result:

    shell> mysqld --validate-config
    2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
    'tx_read_only=ON'.
    2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting
    

    --validate-config can be used with the --defaults-file option to validate only the options in a specific file:

    shell> mysqld --defaults-file=./my.cnf-test --validate-config
    2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
    'tx_read_only=ON'.
    2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting
    

    Remember that --defaults-file, if specified, must be the first option on the command line. (Executing the preceding example with the option order reversed produces a message that --defaults-file itself is unknown.)

  • 相关阅读:
    除了Web和Node,JavaScript还能做什么
    从Hybrid到React-Native: JS在移动端的南征北战史
    当React开发者初次走进React-Native的世界
    【React-Native】React-Native组件样式合集
    【github】论怎么去写一个高大上的ReadMe
    https://github.com/sindresorhus/awesome-nodejs 清单
    https://github.com/akullpp/awesome-java 清单
    https://github.com/ChristosChristofidis/awesome-deep-learning 清单
    https://github.com/josephmisiti/awesome-machine-learning 清单
    SpringBoot 为什么能够自动的注入一些常用的Bean ?详细分析SpringBoot 自动配置的实现
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/12488470.html
Copyright © 2011-2022 走看看