10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 41.6 mb
PDF (A4)- 41.7 mb
手册(TGZ)- 262.2 kb
手册(Zip)- 372.3 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

MySQL 8.0参考手册/.../ 非持久化和持久化限制的系统变量

非持久化系统变量在任何情况下都不能持久化。从MySQL 8.0.14开始,可以持久化受限制的系统变量设置PERSIST_ONLY,但只有符合下列条件的用户才可申请:

  • persist_only_admin_x509_subject系统变量设置为SSL证书X.509主题值。

  • 用户使用加密连接连接到服务器,并提供具有指定Subject值的SSL证书。

  • 用户具有足够的使用权限设置PERSIST_ONLY(见protocol_version仅由服务器读取和设置,因此在任何情况下都不能持久保存。另一方面,bind_address是持久化限制的,因此可以由满足上述条件的用户设置。

    以下系统变量是非持久性的。这个列表可能会随着正在进行的开发而改变。

    Audit_log_current_session audit_log_filter_id caching_sha2_password_digest_rounds character_set_system core_file have_statement_timeout have_symlink hostname innodb_version keyring_hashicorp_auth_path keyring_hashicorp_ca_path keyring_hashicorp_commit_auth_path keyring_hashicorp_commit_ca_path keyring_hashicorp_commit_ca_path keyring_hashicorp_commit_role_id keyring_hashicorp_commit_server_url keyring_hashicorp_commit_store_path keyring_hashicorp_auth_path keyring_hashicorp_auth_path keyring_hashicorp_commit_ca_path keyring_hashicorp_commit_ca_path keyring_hashicorp_commit_role_idKeyring_hashicorp_secret_id keyring_hashicorp_server_url keyring_hashicorp_store_path large_files_support large_page_size license locked_in_memory log_bin log_bin_basename log_bin_index lower_case_file_system ndb_version ndb_version_string persist_only_admin_x509_subject persist_globals_load protocol_version relay_log_basename relay_log_index server_uuid skip_external_locking system_time_zone version_comment version_compile_machine version_compile_os version_compile_zlib

    受持久性限制的系统变量是那些只读的,可以在命令行或选项文件中设置的变量,而不是persist_only_admin_x509_subject而且persisted_globals_load.这个列表可能会随着正在进行的开发而改变。

    Audit_log_file audit_log_format auto_generate_certs basedir bind_address caching_sha2_password_auto_generate_rsa_keys caching_sha2_password_private_key_path caching_sha2_password_private_key_path caching_sha2_password_public_key_path character_sets_dir daemon_memcached_engine_lib_name daemon_memcached_engine_lib_path daemon_memcached_option datadir default_authentication_plugin ft_stopword_file init_file innodb_buffer_pool_load_at_startup innodb_data_file_path innodb_data_home_dir innodb_dedicated_server innodb_directoriesInnodb_force_load_corrupted innodb_log_group_home_dir innodb_page_size innodb_read_only innodb_temp_data_file_path innodb_temp_tablespaces_dir innodb_undo_directory innodb_undo_tablespaces keyring_encrypted_file_data keyring_encrypted_file_password lc_messages_dir log_error mecab_rc_file named_pipe pid_file plugin_dir port relay_log relay_log_info_file replica_load_tmpdir secure_file_priv sha256_password_auto_generate_rsa_keys sha256_password_private_key_path sha256_password_public_key_pathShared_memory shared_memory_base_name skip_networking slave_load_tmpdir socket ssl_ca ssl_capath ssl_cert ssl_crl ssl_crlpath ssl_key tmpdir version_tokenens_session_number . Shared_memory shared_memory_base_name skip_networking slave_load_tmpdir socket ssl_ca ssl_capath ssl_crl ssl_crlpath ssl_key tmpdir version_tokenens_session_number

    要配置服务器以启用持久化受持久化限制的系统变量,请使用以下过程:

    1. 确保MySQL配置为支持加密连接。看到

      指定SSL证书X.509 Subject值,该值表示能够持久化受持久化限制的系统变量,并生成具有该Subject的证书。看到

      使用以下命令启动服务器persist_only_admin_x509_subject设置为指定的Subject值。例如,将这些行放在服务器中my.cnf文件:

      (mysqld) persist_only_admin_x509_subject = "主题

      Subject值的格式与用于相同创建用户…要求主题.看到persist_only_admin_x509_subject本身不能在运行时持久。

    2. 重新启动服务器。

    3. 将具有指定Subject值的SSL证书分发给允许持久化受持久化限制的系统变量的用户。

    假设myclient-cert.pem是客户端使用的SSL证书,客户端可以持久化受持久化限制的系统变量。控件显示证书内容openssl命令:

    Shell > openssl x509 -text -in myclient-cert. exe证书:Data: Version: 3 (0x2) Serial Number: 2 (0x2) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, ST=IL, L=Chicago, O=MyOrg, OU=CA, CN=MyCN Validity Not Before: Oct 18 17:03:03 2018 GMT Not After: Oct 15 17:03:03 2028 GMT Subject: C=US, ST=IL, L=Chicago, O=MyOrg, OU=client, CN=MyCN…

    openssl显示证书的Subject值为:

    C=US, ST=IL, L=Chicago, O=MyOrg, OU=client, CN=MyCN

    要指定MySQL的主题,使用以下格式:

    圣= IL / L / C =我们/ =芝加哥/ O = MyOrg OU =客户/ CN = MyCN

    配置服务器my.cnf文件的Subject值:

    (mysqld) persist_only_admin_x509_subject = " / C =我们/圣= IL / L =芝加哥/ O = MyOrg OU =客户/ CN = MyCN”

    重新启动服务器,使新配置生效。

    将SSL证书(以及任何其他关联的SSL文件)分发给适当的用户。这样的用户然后使用证书和建立加密连接所需的任何其他SSL选项连接到服务器。

    要使用X.509,客户端必须指定——ssl密钥而且——ssl-cert连接选项。这是推荐的,但不是必须的——ssl-ca还要指定,以便可以验证服务器提供的公共证书。例如:

    Shell > mysql——ssl-key=myclient-key。pem - ssl-cert = myclient-cert。pem - ssl-ca = mycacert.pem

    假设用户有足够的权限来使用设置PERSIST_ONLY,持久化限制的系统变量可以像这样持久化:

    mysql> SET PERSIST_ONLY socket = '/tmp/mysql.sock';查询OK, 0行受影响(0.00秒)

    如果服务器没有配置为启用持久化受持久化限制的系统变量,或者用户不满足该能力所需的条件,则会发生错误:

    mysql> SET PERSIST_ONLY socket = '/tmp/mysql.sock';错误1238 (HY000):变量'socket'是非持久只读变量