分享更有价值
被信任是一种快乐

MySQL如何配置服务器

文章页正文上

这篇文章主要为大家展示了“MySQL如何配置服务器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL如何配置服务器”这篇文章吧。1.
服务器配置1.1.
MySQL
配置选项在调用服务器(或客户机)时可以在命令行上指定启动选项,也可以在配置文件中指定启动选项。
MySQL
客户机程序会在启动时查找配置文件,并使用相应的选项。默认情况下,服务器在运行时使用其配置变量的预编译值。但是,如果默认值不适合环境,则可添加运行时选项,让服务器使用其他值来执行以下操作:
指定重要的目录和文件的位置
控制服务器写入的日志文件
覆盖服务器与性能相关的变量的内置值(即,控制最大同时连接数以及缓冲区和高速缓存的大小)
在服务器启动时启用或禁用预编译的存储引擎通过使用命令行选项或配置文件,或者使用两者的组合,可以指定服务器启动时的运行时选项(以更改其配置和行为)。命令行选项优先于配置文件中的任何设置。要了解服务器支持的选项,请在
shell
提示符下执行以下命令:mysqld –verbose –help注:
上述命令提供信息。该命令不会启动
MySQL
服务器。1)
使用配置文件的原因?通过命令行调用服务器时,可以指定
–help
选项列出的任何服务器选项。但是,将它们在配置文件中列出会更有用,原因如下:A.
将选项放在文件中后,不需要每次启动服务器时都在命令行上指定选项。对于复杂的选项(如用于配置
InnoDB
表空间的选项),这样做更加方便,并且更不容易出错。B.
如果所有服务器选项都在一个配置文件中,则可概览服务器的配置情况。MySQL
程序可以访问多个配置文件中的选项。程序会查找每个标准配置文件,并读取任何存在的配置文件。未发现指定文件时,不会发生错误。要使用某个配置文件,可使用编辑器以纯文本文件形式创建该文件。要创建或修改某个配置文件,必须拥有该文件的写入权限。客户机程序仅需要读取访问权限。2)
配置文件组配置文件中的选项按组进行组织,每个组前面有一个为组命名的
[group-name]
行。通常,组名称是选项组适用的程序的类别或名称。选项组示例包括:[client]:用于指定适用于所有客户机程序的选项。
[client]
组的一个常见用途是指定连接参数,因为在一般情况下,不管使用什么客户机程序,都要建立到同一个服务器的连接。[mysql]

[mysqldump]:分别用于指定适用于
mysql

mysqldump
客户机的选项。此外,也可以单独指定其他客户机选项。[server]:用于指定同时适用于
mysqld

mysqld_safe
服务器程序的选项。[mysqld]、
[mysqld-5.6]

[mysqld_safe]:用于指定适用于不同服务器版本或启动方法的选项。3)
编写配置文件配置文件中组的简短示例:[client]host = myhost.example.comcompress[mysql]show-warnings要创建或修改某个配置文件,最终用户必须拥有该文件的写入权限。服务器本身仅需要读取访问权限;服务器读取配置文件,但不创建或修改配置文件。在配置文件中写入一个选项:使用长选项格式(像命令行上使用的那样),但省略前导短划线。如果某个选项取值,则允许在等号两则加空格
( = )。此规则不适用于在命令行上指定的选项。示例中,请注意以下方面:[client]:此组中的选项适用于所有标准客户机。- host:指定服务器主机名- compress:指示客户机/服务器协议对通过网络发送的通信使用压缩[mysql]:此组中的选项仅适用于
mysql
客户机。- show-warnings:指示
MySQL
在每条语句后显示任何当前警告mysql
客户机同时使用
[client]

[mysql]
组中的选项,因此将使用显示的全部三个选项。4)
配置文件位置MySQL
服务器会在标准位置中查找文件。Linux

Windows
的标准文件不同,在
Linux
中,使用
my.cnf
文件。在
Windows
中,使用
my.ini
文件。可以使用以下选项查看配置文件查找位置和组:shell> mysql –help标准配置文件如下:Linux:
文件
/etc/my.cnf
用作所有用户都使用的全局配置文件。可以在用户的主目录中创建特定于用户的配置文件
.my.cnf。如果设置了
MYSQL_HOME
环境变量,则将搜索
$MYSQL_HOME/my.cnf
文件。Windows:
程序按以下顺序查找配置文件:
Windows C:
目录下的
my.ini
和my.cnf,然后是
C:Windows(或
C:WinNT)目录。但是,因为
Windows
安装向导将配置文件放在目录C:Program FilesMySQLMySQL Server
中,因此在Windows
中,服务器还会搜索此目录。
MySQL
命令行程序会在
MySQL
安装目录中搜索配置文件。5)
配置文件中的启动选项要在配置文件中指定服务器选项,请在
[mysqld]

[server]
组下指示特定选项。日志记录
可以通过启用所需日志的类型为服务器启用日志记录。以下选项可启用常规查询日志、二进制日志和慢速查询日志:general_loglog-binslow_query_log默认存储引擎
可以使用
–default-storage-engine
选项指定不同于
InnoDB的默认存储引擎。系统变量
可以通过设置服务器系统变量值来定制服务器。例如,要增加允许的最大连接数,并增加
InnoDB
缓冲池数的默认值,可设置以下变量:max_connections=200innodb_buffer_pool_instances=4共享内存

Windows
上默认不启用。可以使用
shared-memory
选项来启用命名管道支持。命名管道
要启用命名管道支持,请使用
enable-named-pipe
选项。6)
样例配置文件MySQL
安装提供了一个样例配置文件:my-default.cnf。Linux对于
RPM
安装,样例配置文件在
/usr/share/mysql
中;对于
TAR
文件安装,样例文件在
MySQL
安装目录下的
share
目录中。Windows:
配置文件位于
MySQL
安装目录
(my.ini)
中。安装过程将此文件复制到
/etc/my.cnf。如果已存在该文件,则将其复制到
/etc/my-new.cnf。在该文件中指定新选项可替换、添加或忽略标准选项。必须是命令行上的第一个选项:–defaults-file=–defaults-extra-file=–no-defaults在更改任何默认选项之前,请确保充分了解相应选项对服务器操作的影响。例如,有些设置会启用特定的日志文件,或者会改变内存缓冲区的大小。–defaults-file=:使用指定位置的配置文件。–defaults-extra-file=:使用指定位置的其他配置文件。–no-defaults:忽略所有配置文件。例如,要仅使用
/etc/my-opts.cnf
文件而忽略标准配置文件,可以像下面这样调用程序:shell> mysql –defaults-file=/etc/my-opts.cnf如果多次指定一个选项(不管是在同一个配置文件中,还是在多个配置文件中),则最后出现的选项值优先。有关使用配置文件的更多信息,请参阅《MySQL
参考手册》:http://dev.mysql.com/doc/refman/5.6/en/option-files.html。7)
显示配置文件中的选项通过使用
–print-defaults
选项执行
mysql
客户机或者使用
my_print_defaults实用程序,可以查看读取特定选项组的程序所使用的选项。输出由各种选项组成,每个选项占一行,其形式与命令行上指定选项时相同。此输出会因为配置文件设置而有差异。my_print_defaults
接受以下选项:–help, -?:显示帮助信息并退出。–config-file=
免费主机域名–defaults-file=
-c :仅读取指定的配置文件。–debug=
-# :写入调试日志。
–defaults-extra-file=
–extra-file=、-e :在全局配置文件之后,但在用户配置文件之前(在
Linux
上),读取此配置文件。
–defaults-group-suffix=
-g :读取具有此后缀的组。
–no-defaults、
-n:返回一个空字符串。–verbose、
-v:详细模式。输出有关程序行为的更多信息。–version、
-V:
显示版本信息并退出。通过命令行按组显示选项。[mysql]

[client]
组示例:shell> my_print_defaults mysql client–user=myusername–password=secret–host=localhost–port=3306–character-set-server=latin1或者(对于相同的输出):mysql –print-defaults mysql client8)
遮蔽验证选项建议不要使用
mysql -uroot -poracle
形式在命令行上指定口令。为方便起见,可以将口令放在
[client]
选项组中,但口令以纯文本方式存储,对配置文件有读取访问权限的任何人都能轻易地看到。利用
mysql_config_editor
实用程序,可以将验证凭证存储在加密的登录文件.mylogin.cnf
中。在
Linux

UNIX
上,该文件位置是当前用户的主目录,在Windows
上是
%APPDATA%MySQL
目录。MySQL
客户机程序以后可以读取该文件以获取用于连接到
MySQL
服务器的验证凭证。加密方法是可逆的,因此不应假设凭证对任何有文件读取权限的人都是安全的。相反,该功能使得避免使用纯文本凭证变得更容易。.mylogin.cnf
登录文件的未加密格式由选项组组成,类似于其他配置文件。.mylogin.cnf
中的每个选项组称为“登录路径”
,仅允许一组有限的选项:主机、用户和口令。可将登录路径视为一组值,可以指示服务器主机以及用于服务器验证的凭证。下面是一个示例:[admin]user = rootpassword = oraclehost = 127.0.0.1shell>mysql –login-path=admin9)
登录路径创建登录路径:mysql_config_editor –login-path= –user= –password –host=以纯文本格式查看单个登录路径:mysql_config_editor print –login-path=以纯文本格式查看所有登录路径:mysql_config_editor print –all删除登录路径:mysql_config_editor remove –login-path=默认登录路径名称为
client,被所有标准客户机读取如果调用
mysql_config_editor
时不使用
–login-path
选项,则将使用[client]
登录路径。默认情况下,所有标准客户机都使用此登录路径。例如,以下命令将创建一个所有标准客户机都使用的
[client]
登录路径:shell> mysql_config_editor set –user=root –passwordEnter password: oracle调用标准客户机时不提供命令行参数或配置文件将导致读取
.mylogin.cnf
文件中的[client]
登录路径以及任何配置文件中的
[client]
选项组。例如,以下输出显示了调用
mysql
客户机而不提供任何选项的结果(已执行前述命令):shell> mysqlWelcome to the MySQL monitor. Commands end with ; or g….1.2.
服务器系统变量MySQL
服务器维护了许多服务器系统变量,这些变量可指示服务器的配置情况。在
shell下使用mysqld –verbose –help命令可以查看服务器根据其内部编译的默认值使用的值,以及服务器读取的任何配置文件,shell下使用mysqld –no-defaults –verbose –help命令可以查看服务器根据其内部编译的默认值使用的值,忽略任何配置文件中的设置:每个系统变量都有默认值,通过执行以下任一操作,可以在服务器启动时设置变量:在命令行上使用选项或者使用配置文件;系统变量值可以在表达式中引用,也可以查看服务器使用的系统变量值。

mysql
客户机内部,使用此命令可以仅查看变量值,没有其他启动选项:SHOW GLOBAL VARIABLES;有关服务器系统变量的更多信息,请参阅《MySQL
参考手册》:http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html。1)
动态系统变量MySQL
维护了两种包含系统变量的作用域。
GLOBAL
变量影响服务器的整体操作。SESSION
变量影响其对单个客户机连接的操作。变量存在于任一作用域中,也可同时存在于两个作用域中。变量及其作用域的示例包括:仅全局
key_buffer_size、
query_cache_size全局和会话
sort_buffer_size、
max_join_size仅会话
timestamp、
error_count在更改变量值时,适用以下免费主机域名几点:设置会话变量不需要任何特殊权限,但客户机只能更改自己的会话变量,不能更改其他任何客户机的会话变量。LOCAL

@@local

SESSION

@@session
的同义词。如果不指定
GLOBAL

SESSION,则当会话变量存在时,
SET
将更改会话变量;会话变量不存在时,将产生错误。2)
显示动态系统变量列出所有可用变量及其值:SHOW [GLOBAL|SESSION] VARIABLES;列出特定的变量值:mysql> SHOW VARIABLES LIKE ‘bulk%’;+————————-+———+| Variable_name | Value |+————————-+———+| bulk_insert_buffer_size | 8388608 |+————————-+———+设置一个新值,然后列出:mysql> SET bulk_insert_buffer_size=4000000;mysql> SHOW VARIABLES LIKE ‘bulk%’;+————————-+———+| Variable_name | Value |+————————-+———+| bulk_insert_buffer_size | 4000000 |+————————-+———+SHOW VARIABLE
会话示例使用
‘bulk%’
查找用于设置插入缓冲区大小幻灯片中的变量,但是,可以使用整个变量名称来输入任何变量,也可输入部分变量名称和百分比符号
(%)
通配符。必须按如下方式设置特定的变量类型:
对具有字符串类型(如
CHAR

VARCHAR)的变量使用字符串值。
对具有数值类型(如
INT

DECIMAL)的变量使用数值。
将具有布尔(BOOL

BOOLEAN)类型的变量设置为
0、
1、
ON

OFF。(如果在命令行上或在配置文件中设置布尔变量,则使用数值。)
将枚举类型的变量设置为可用的变量值之一,但也可将其设置为与所需枚举值对应的数字。对于枚举的服务器变量,第一个枚举值对应于
0。这不同于
ENUM
列,后者的第一个枚举值对应于
1。有关动态服务器变量的更多信息,请参阅《MySQL
参考手册》:http://dev.mysql.com/doc/refman/5.6/en/dynamic-system-variables.html。3)
结构化系统变量MySQL
支持一种结构化变量类型,该变量类型可以指定控制key buffer操作的参数。key buffer结构化变量具有以下组件:key_buffer_sizekey_cache_block_sizekey_cache_division_limitkey_cache_age_threshold要引用结构化变量实例的组件,可使用复合名称:instance_name.component_name format示例:hot_cache.key_buffer_sizehot_cache.key_cache_block_sizecold_cache.key_cache_block_size有关结构化系统变量的更多信息,请参阅《MySQL
参考手册》:http://dev.mysql.com/doc/refman/5.6/en/structured-system-variables.html。4)
服务器状态变量使用
SHOW STATUS
语句评估系统运行状况。从两种类别中选择(类似于动态变量):LOCAL

SESSION
的同义词。如果没有修饰符,则默认值为
SESSION。mysql> SHOW GLOBAL STATUS;+———————–+——-+| Variable_name | Value |+———————–+——-+| Aborted_clients | 0 || Aborted_connects | 0 || Binlog_cache_disk_use | 0 || Bytes_received | 169 || Bytes_sent | 331 || Com_admin_commands | 0 |…有些状态变量只有一个全局值。对于这些状态变量,
GLOBAL

SESSION
的值是相同的。有关服务器状态变量的更多信息,请参阅《MySQL
参考手册》:http://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html。1.3.
SQL
模式通过设置
SQL
模式配置多种服务器操作特征,指定
MySQL
对接受输入数据的宽容度,设置与其他数据库系统的兼容性,控制查询处理(启用或禁用与
SQL
符合性相关的行为),覆盖
SQL
的“空”
默认模式(空模式不启用限制或符合性行为)。SQL
模式由控制查询处理某些方面的可选值组成。设置了相应的
SQL
模式后,客户机就可以对以下项目进行某种程度的控制:
输入数据:
SQL
模式可用于指示服务器对接受输入数据的宽容度。
标准
SQL
符合性:
SQL
模式可用于启用或禁用与标准
SQL
符合性相关的行为。
兼容性:
SQL
模式可用于改进与其他数据库系统的兼容性。默认的
SQL
模式为
NO_ENGINE_SUBSTITUTION,默认的配置文件会添加
STRICT_TRANS_TABLES。1)
设置
SQL
模式
通过命令行在启动时设置:shell> mysqld –sql-mode=
在配置文件内设置:[mysqld]sql-mode=IGNORE_SPACE
SET
语句在
mysql
中,在启动之后:SET [SESSION|GLOBAL] sql_mode=示例:使用单个模式值设置
SQL
模式:SET sql_mode = ANSI_QUOTES;SET sql_mode = ‘TRADITIONAL’;使用多个模式名称设置
SQL
模式:sql_mode = ‘IGNORE_SPACE,ANSI_QUOTES,NO_ENGINE_SUBSTITUTION’;使用
SELECT
语句检查当前的
sql_mode
设置:SELECT @@sql_mode;清除当前
SQL
模式:SET sql_mode=”单个客户机可按自己的要求配置
SQL
模式,但也可使用
–sql-mode
选项设置服务器启动时的默认
SQL
模式。如果服务器的运行模式对接受无效数据或创建
MySQL
用户帐户比较慎重,则可能需要执行此操作。如果没有修饰符,则
SET
将更改会话
SQL
模式。调用
SET
语句时可以带一个空字符串,也可以带一个或多个模式名称(用逗号分隔)。如果值为空或者包含多个模式名称,则必须将值放在引号中。如果值包含一个模式名称,则引号可有可无。
SQL
模式值不区分大小写。2)
常用
SQL
模式STRICT_TRANS_TABLES
STRICT_ALL_TABLES
:没有这些模式,
MySQL
将接受缺少、超出范围或格式不正确的值。启用
STRICT_TRANS_TABLES
时将为事务表设置“严格模式”
;也可在默认的
my.cnf
文件中启用。启用STRICT_ALL_TABLES
时将为所有表设置严格模式。TRADITIONAL启用此
SQL
模式可对输入数据值施加类似于其他数据库服务器的限制。在此模式下,使用
GRANT
语句可创建要求指定口令的用户。IGNORE_SPACE:默认情况下,必须调用函数名称与后接括号间没有空格的函数。启用此模式后,允许存在此类空格,并使函数名称成为保留字。ERROR_FOR_DIVISION_BY_ZERO:默认情况下,除数为零时将产生结果
NULL。在启用此模式的情况下插入数据时,除数为零将导致出现警告,在严格模式下将出现错误。ANSI:使用此组合模式将使
MySQL
服务器变得更加“类似于
ANSI”。即,此模式支持的行为更像标准
SQL,如
ANSI_QUOTES

PIPES_AS_CONCAT。NO_ENGINE_SUBSTITUTION:如果在创建或更改表时指定了不可用的存储引擎,除非启用了此模式,否则
MySQL
将替换默认存储引擎。这是默认的
SQL
模式。1.4.
日志文件MySQL
用不同的日志文件来记录服务器活动,记录有关服务器执行的
SQL
语句的信息:
错误日志:
与启动、关闭和异常情况有关的诊断信息
常规查询日志:
服务器从客户机收到的所有语句
慢速查询日志:
需要长时间执行的查询
二进制日志:
修改数据的语句
审计日志:
企业版基于策略的审计这些日志可用于评估服务器的操作状态、用于崩溃后的数据恢复、用于复制、用于帮助确定运行速度慢的查询以及用于安全和法规遵从性。在默认情况下,这些日志都未启用(Windows
中的错误日志除外)。必须了解的是,日志文件(特别是常规查询日志)的大小可能会增长到相当大。有关日志文件的更多信息,请参阅《MySQL
参考手册》:http://dev.mysql.com/doc/refman/5.6/en/server-logs.html
和http://dev.mysql.com/doc/refman/5.6/en/mysql-enterprise-audit.html1)
日志文件用法列表服务器在数据目录中创建所有日志文件;在未设置其他路径名的情况下,服务器会将文件名设置为当前主机名。通过在启动服务器时使用对应的选项(在命令行上,或者配置文件中(不带前缀
–)),可以启用这些日志文件。错误日志
设置
–log-error=
以将错误记录到指定文件中。mysqld_safe
脚本可创建错误日志,并在启动服务器时将其输出重定向到该错误日志。
常规查询日志
设置
–general_log_file=
以记录查询。全局的
general_log

general_log_file
服务器变量可提供对常规查询日志的运行时控制。将
general_log
设置为
0(或
OFF)禁用该日志,设置为
1(或ON)启用该日志。
慢速查询日志
设置
–slow_query_log_file=
以提供对慢速查询日志的运行时控制。将
slow_query_log
设置为
0
禁用该日志,设置为
1
启用该日志。如果日志文件已打开,则将其关闭,然后打开新文件。
二进制日志
设置
–log-bin
以启用二进制日志记录。服务器使用该选项值作为基名;在创建新日志文件时,在基名上添加一个升序数字后缀。这些日志文件以二进制格式(而不是文本格式)存储。审计日志
审计日志是作为企业版插件提供的;加载该日志后,可用于将事件记录到audit_log_file
选项指定的文件中。审计过程会不断写入审计日志,直到将该插件删除,或者通过
audit_log_policy=NONE
选项设置关闭审计。在服务器启动时使用
audit_log=FORCE_PLUS_PERMANENT
作为选项,可以防止删除该插件。2)
二进制日志记录二进制日志包含描述数据库更改(如创建数据库或更改表数据)的“事件”
。二进制日志还包含可能做出更改的语句的事件(例如,没有匹配行的
DELETE)。该日志还包含有关每条更新语句所用时间的信息。二进制日志有两个重要用途:复制和数据恢复。MySQL
使用日志传送复制解决方案。使用日志传送系统时,可以将主系统上发生的所有数据更改存储在二进制日志中,然后通过从系统检索这些数据更改,并根据接收到的这些日志文件执行更改。可以实时下载日志文件并执行内容;即,只要生成日志文件事件,就将其发送到连接的从系统供执行。由于网络传播存在延迟,从系统可能需要几秒到几分钟(最坏的情况)时间来接收更新。在理想的情况下,延迟会在一秒以内。发生以下事件之一时,二进制日志会轮转:l
重新启动
MySQL
服务器。l
达到允许的最大大小
(max_binlog_size)。l
发出了
FLUSH LOGS SQL
命令。二进制日志独立于存储引擎。不管使用的存储引擎是哪个(即
InnoDB

MyISAM),MySQL
复制都会工作。3)
二进制日志记录格式基于语句的二进制日志记录:l
包含实际
SQL
语句l
包括
DDL(CREATE、
DROP
等)和
DML(UPDATE、
DELETE
等)语句l
相对较小的文件保存磁盘空间和网络带宽l
并非所有复制的语句都会在远程计算机上正确重放l
要求主系统和从系统上复制的表和列完全相同(或者符合多个限制条件)基于行的二进制日志记录:l
指示对单个表行的影响情况l
正确重放所有语句,即使对于在使用基于语句的日志记录时未正确复制的功能导致的更改也是如此按如下方式设置格式:SET [GLOBAL|SESSION] BINLOG_FORMAT=[row|statement|mixed|default];注:
使用
mixed
选项可让
MySQL
选取最适合单个事件的格式。
MySQL
通常会使用基于语句的二进制日志,但在需要时可恢复到基于行的复制。4)
查询二进制日志文件使用
SHOW BINARY LOGS
语句可完成以下任务:#列出当前的日志文件和文件大小mysql> SHOW BINARY LOGS;+—————+———–+| Log_name | File_size |+—————+———–+| binlog.000015 | 724935 || binlog.000016 | 733481 |+—————+———–+使用
SHOW MASTER STATUS
语句可完成以下任务:#显示下一个事件的主状态mysql> SHOW MASTER STATUS;+—————+———-+————–+——————+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+—————+———-+————–+——————+| binlog.000016 | 733481 | world_innodb | manual,mysql |+—————+———-+————–+——————+语句以描述数据库修改的“事件”
形式存储在二进制日志中。要确定事件,必须获得二进制日志文件名称和字节偏移(即位置)。例如,日志文件
binlog.000016、位置733481
可确定幻灯片中的最后一个事件。SHOW MASTER STATUS
命令需要
SUPER

REPLICATION CLIENT
权限。5)
查看二进制日志内容二进制日志是无法使用普通文本查看器查看的,日志以紧凑二进制格式存储。使用
mysqlbinlog
实用程序可以将二进制日志转换成
SQL
文本格式,在标准输出中查看数据:shell> mysqlbinlog host-bin.000001 host-bin.000002也可以将输出重定向到
more:shell> mysqlbinlog host-bin.000001 | more通过命令行执行
mysqlbinlog
程序,将要查看的日志指定为参数。此程序有多个选项,提供诸如根据时间或文件偏移提取事件之类的功能。可以查看所有带
–help
标志的选项。在
mysqlbinlog
输出中,事件前面会有提供相关信息的头注释:# at 141#100309 9:28:36 server id 123 end_log_pos 245Query thread_id=3350 exec_time=11 error_code=0如果使用基于语句的日志记录创建二进制日志,然后运行
mysqlbinlog –database=test
创建可读文件,则服务器将过滤掉不与
test
数据库关联的语句:INSERT INTO test.t1 (i) VALUES(100);—————————————-| USE test; || INSERT INTO test.t1 (i) VALUES(101); || INSERT INTO t1 (i) VALUES(102); || INSERT INTO db2.t2 (j) VALUES(201); |—————————————-USE db2;INSERT INTO db2.t2 (j) VALUES(202);因为没有默认数据库,因此不包括第一条
INSERT
语句。输出的是跟在
USE test
后面的三条
INSERT
语句,而不是跟在
USE db2
后面的
INSERT
语句。6)
删除二进制日志默认情况下,不会自动删除旧的日志文件。A.
根据存在时间删除日志:SET GLOBAL expire_logs_days = 7;…或者…PURGE BINARY LOGS BEFORE now() – INTERVAL 3 day;B.
根据文件名删除日志:PURGE BINARY LOGS TO ‘mysql-bin.000010’;C.
要在二进制日志轮转过程中自动删除存在时间多于指定天数的任何二进制日志,可使用expire_logs_days
设置。也可以在配置文件中配置
expire_logs_days:[mysqld]expire_logs_days=77)
配置企业审计企业审计通过使用
audit_log
服务器插件实现,该功能随企业版本订阅提供。企业审计启用后,在日志文件中生成一个服务器活动审计记录,内容取决于策略,可能包括:
在系统上发生的错误的记录
客户机连接和断开连接的时间
客户机在连接期间执行的操作
客户机访问的数据库和表A.
安装
audit_log
插件要安装
audit_log
插件,请使用
INSTALL PLUGIN
语法,如以下示例中所示:INSTALL PLUGIN audit_log SONAME ‘audit_log.so’;或者,也可以在服务器启动时设置
plugin-load
选项:[mysqld]plugin-load=audit_log.so默认情况下,装入该插件就会启用日志记录。将选项
audit-log
设置为
OFF
可禁用日志记录。要防止在运行时删除该插件,可设置以下选项:audit-log=FORCE_PLUS_PERMANENT
日志文件命名为
audit.log,默认情况下位于服务器数据目录中。要更改该文件的名称或位置,可在服务器启动时设置
audit_log_file
系统变量。B.
日志记录策略基于策略的日志记录通过
audit_log_policy
选项设置,提供的日志记录选项有
ALL、
NONE、
LOGINS

QUERIES,默认为
ALL;要平衡遵从性和性能,可使用
audit_log_strategy
选项在
SYNCHRONOUS、ASYNCHRONOUS、
SEMISYNCHRONOUS

PERFORMANCE
之间进行选择。如果将
audit_log_rotate_on_size
设置为某个大于
0
的数字,则当日志文件大小超出了该数量的
4 KB
数据块大小时,将轮转日志文件。有关配置企业审计的更多信息,请参阅《MySQL
参考手册》:http://dev.mysql.com/doc/refman/5.6/en/audit-log-plugin-options-variables.htmlC.
审计日志文件审计日志文件以
XML
形式写入,采用
UTF-8
编码。根元素为
。根元素的结束标记

在该插件终止时写入。在审计日志插件处于活动状态期间,文件中没有该标记。每个审计条目就是一个

元素:

NAME=”Connect” CONNECTION_ID=”4″ STATUS=”0″

USER=”root” PRIV_USER=”root” OS_LOGIN=”” PROXY_USER=””

HOST=”localhost” IP=”127.0.0.1″ DB=””/>

NAME=”Query” CONNECTION_ID=”4″ STATUS=”0″

SQLTEXT=”INSERT INTO tbl VALUES(1, 2)”/>

每个审计记录的
TIMESTAMP
采用
UTC
格式。

NAME
属性代表事件类型。例如,
“Connect”
表示登录事件,
“Quit”
表示客户机断开连接,
“Shutdown”
表示服务器关闭。
“Audit”
和“NoAudit”
表示审计开始和停止的点。

STATUS
属性提供命令状态。这与
MySQL
命令
SHOW ERRORS
显示的
Code
值相同。有些属性仅在特定的事件类型中出现。例如,
“Connect”
事件包括诸如
HOST、
DB、
IP和
USER
之类的属性,
“Query”
事件包括
SQLTEXT
属性。

以上是“MySQL如何配置服务器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

NAME=”Connect” CONNECTION_ID=”4″ STATUS=”0″USER=”root” PRIV_USER=”root” OS_LOGIN=”” PROXY_USER=””HOST=”localhost” IP=”127.0.0.1″ DB=””/>

NAME=”Query” CONNECTION_ID=”4″ STATUS=”0″

SQLTEXT=”INSERT INTO tbl VALUES(1, 2)”/>

每个审计记录的
TIMESTAMP
采用
UTC
格式。

NAME
属性代表事件类型。例如,
“Connect”
表示登录事件,
“Quit”
表示客户机断开连接,
“Shutdown”
表示服务器关闭。
“Audit”
和“NoAudit”
表示审计开始和停止的点。

STATUS
属性提供命令状态。这与
MySQL
命令
SHOW ERRORS
显示的
Code
值相同。有些属性仅在特定的事件类型中出现。例如,
“Connect”
事件包括诸如
HOST、
DB、
IP和
USER
之类的属性,
“Query”
事件包括
SQLTEXT
属性。

以上是“MySQL如何配置服务器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

NAME=”Query” CONNECTION_ID=”4″ STATUS=”0″SQLTEXT=”INSERT INTO tbl VALUES(1, 2)”/>每个审计记录的
TIMESTAMP
采用
UTC
格式。NAME
属性代表事件类型。例如,
“Connect”
表示登录事件,
“Quit”
表示客户机断开连接,
“Shutdown”
表示服务器关闭。
“Audit”
和“NoAudit”
表示审计开始和停止的点。STATUS
属性提供命令状态。这与
MySQL
命令
SHOW ERRORS
显示的
Code
值相同。有些属性仅在特定的事件类型中出现。例如,
“Connect”
事件包括诸如
HOST、
DB、
IP和
USER
之类的属性,
“Query”
事件包括
SQLTEXT
属性。以上是“MySQL如何配置服务器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

相关推荐: MySQL中innodb新特性有哪些

这篇文章主要介绍了MySQL中innodb新特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。4.1 innodb buffer dump 功能增强 5.7.5 新增加innodb_buf…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册