#其他默认调整值 #MySQL Server实例配置文件 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- #由MySQL Server实例配置向导生成 # # #安装说明 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #在Linux上,您可以将此文件复制到/etc/my.cnf以设置全局选项, #mysql-data-dir/my.cnf设置服务器特定选项(用于此安装的@localstatedir@)或~/.my.cnf设置特定于用户的选项。 # #在Windows上,当使用MySQL安装程序安装MySQL时应该将此文件保存在服务器的ProgramData目录中(例如C:\ProgramData\MySQL\MySQL-Server X.Y)。为了确保服务器读取配置文 件,使用启动选项“--defaults file”。 # #要从命令行运行服务器,请在命令行shell,例如。 # mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini" # #若要手动将服务器作为Windows服务安装,请在命令行shell,例如。 # mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini" # #然后在命令行shell中执行此操作以启动服务器,例如。 # net start MySQLXY # # #编辑此文件的准则-- # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #在此文件中,您可以使用程序支持的所有长选项。如果您想知道程序支持的选项,请启动该程序使用“--help”选项。 #有关各个选项的更详细信息也可以在手册中找到。 #有关如何更改设置的建议,请参阅 https://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html # # #客户端部分 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #MySQL客户端应用程序将读取以下选项。 #请注意,只有MySQL提供的客户端应用程序才有保证阅读本节。如果您希望自己的MySQL客户端程序遵守这些值,您需要在MySQL客户端库初始化 # [client]
# pipe=
# socket=MYSQL
port=7070
[mysql] no-beep
# default-character-set=
#服务器部分 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #MySQL Server将读取以下选项。确保您已经正确安装了服务器(请参阅上文),因此它会读取以下内容文件。 # # server_type=3 [mysqld]
#以下三个选项对SERVER_PORT来说是互斥的。 #跳过网络 #启用命名管道 #共享存储器
# shared-memory-base-name=MYSQL
#MySQL服务器将使用的管道。 # socket=MYSQL
#在MySQL Server创建的命名管道上授予客户端的访问控制。 # named-pipe-full-access-group=
#MySQL服务器将侦听的TCP/IP端口 port=7070
#安装目录的路径。所有路径通常都相对于此进行解析。 # basedir="C:/Program Files/MySQL/MySQL Server 8.0/"
#数据库根目录的路径 datadir=C:/ProgramData/MySQL/MySQL Server 8.0\Data
#当新架构或表已创建,但未定义字符集 # character-set-server=
#管理多因素身份验证(MFA)功能。它适用于身份验证用于管理MySQL帐户的CREATE USER和ALTER USER语句的因子相关子句定义,其中“factor”对应于关联的身份验证方法或插件 有账户。 authentication_policy=*,,
#在以下情况下创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
#当前服务器SQL模式,可以动态设置。 #模式会影响MySQL支持的SQL语法及其执行的数据验证检查。这使MySQL更容易在不同的环境中使用,并更容易与其他环境一起使用数据库服务器。 sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
#常规和慢速日志记录。 log-output=FILE
general-log=0
general_log_file="LAPTOP-CLPA8D3C.log"
slow-query-log=1
slow_query_log_file="LAPTOP-CLPA8D3C-slow.log"
long_query_time=10
#错误日志记录。 log-error="LAPTOP-CLPA8D3C.err"
#*****与组复制相关***** #指定要用于二进制日志文件的基本名称。使用二进制日志记录启用后,服务器会记录所有将数据更改为二进制的语句日志,用于备份和复制。 log-bin="LAPTOP-CLPA8D3C-bin"
#*****与组复制相关***** #指定服务器ID。对于复制拓扑中使用的服务器,必须在中为每个复制服务器指定一个唯一的服务器ID#范围从1到2^32−1。“唯一”表示每个ID必须不同 #来自任何其他源或复制副本正在使用的每个其他ID。 server-id=1
#指示表和数据库名称如何存储在磁盘上并在MySQL中使用。 #值0=表和数据库名称使用CREATE Table或CREATE database语句中指定的字母大小写存储在磁盘上。名称比较区分大小写。如果您在具有不区分大小写的文件名的系统(如Windows或macOS)上运行MySQL,则不应将此变量设置为0。如果在不区分大小写的文件系统上,使用--lower-case-table-names=0将此变量强制设置为0,并使用不同的字母大小写访问MyISAM表名,则可能会导致索引损坏。 #值1=表名称以小写形式存储在磁盘上,名称比较不区分大小写。MySQL在存储和查找时将所有表名转换为小写。此行为也适用于数据库名称和表别名。 #值2=表和数据库名称使用CREATE Table或CREATE database语句中指定的字母大小写存储在磁盘上,但MySQL在查找时会将其转换为小写。名称比较不区分大小写。InnoDB表名和视图名以小写形式存储,如lower_case_table_names=1。 lower_case_table_names=1
#此变量用于限制数据导入和导出操作的效果,例如由LOAD DATA和SELECT…执行。。。INTO OUTFILE语句和LOAD_FILE()函数。这些操作仅允许具有FILE权限的用户执行。 secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
#MySQL服务器将执行的最大并发会话数允许。其中一个连接将保留给具有允许管理员登录的超级权限,即使已达到连接限制。 max_connections=151
#所有线程打开的表数。增加该值会增加数字mysqld所需的文件描述符的数量。 table_open_cache=4000
#定义TempTable可以占用的最大内存量存储引擎在开始将数据存储在磁盘上之前。 temptable_max_ram=1G
#定义创建的内部内存临时表的最大大小通过MEMORY存储引擎,以及从MySQL 8.0.28起的TempTable存储发动机。如果内存中的内部临时表超过此大小,则为自动转换为磁盘上的内 #部临时表。 tmp_table_size=75M
#内存内部临时表的存储引擎(参见第8.4.4节“内部临时表在MySQL中使用”)。允许的值为TempTable(默认值)和MEMORY。 internal_tmp_mem_storage_engine=TempTable
#***MyISAM特定选项 #MySQL在重新创建时允许使用的临时文件的最大大小MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA期间)。如果文件大小为如果大于该值,则使用键缓存来创建索引, #这会比较慢。该值以字节为单位。 myisam_max_sort_file_size=2146435072
#在REPAIR TABLE期间对MyISAM索引进行排序时分配的缓冲区大小或者使用CREATE INDEX或ALTER TABLE创建索引时。 myisam_sort_buffer_size=141M
#密钥缓冲区的大小,用于缓存MyISAM表的索引块。不要将其设置为大于可用内存的30%,作为某些内存也是OS缓存行所需要的。即使你不使用MyISAM表,您仍然应该将其设置为 #8-64M,因为它也将是用于内部临时磁盘表。 key_buffer_size=8M
#对MyISAM表进行顺序扫描的每个线程都会分配一个缓冲区,它扫描的每个表的大小(以字节为单位)。如果你做许多连续的扫描时,您可能希望增加此值,默认值为131072。这 #个变量的值应该是4KB的倍数。如果设置为某个值不是4KB的倍数,其值四舍五入到最接近的倍数高达4KB。 read_buffer_size=128K
#此变量用于从MyISAM表中读取,对于任何存储引擎,用于多范围读取优化。 read_rnd_buffer_size=256K
#***INNODB特定选项*** # innodb_data_home_dir=
#如果您的MySQL服务器已启用InnoDB支持,请使用此选项。但您不打算使用它。这将节省内存和磁盘空间并且加快一些事情。 # skip-innodb
#如果设置为1,InnoDB将把事务日志刷新(fsync)到磁盘,这提供了完整的ACID行为。如果你是愿意在安全问题上妥协,而你却跑得很小事务,您可以将其设置为0或2以将磁盘 #I/O减少到日志。值0表示日志仅写入日志文件,并且日志文件大约每秒刷新一次。值2意味着每次提交时都会将日志写入日志文件,但日志 #大约每秒只将文件刷新到磁盘一次。 innodb_flush_log_at_trx_commit=1
#InnoDB用于写入日志文件的缓冲区的大小(以字节为单位)磁盘。随着32KB的引入,默认值从8MB更改为16MB和64KB的innodb_ page_ size值。大型日志缓冲区可实现大型事务 #在事务提交之前无需将日志写入磁盘即可运行。因此,如果您有更新、插入或删除许多行的事务日志缓冲区越大,节省磁盘I/O。 innodb_log_buffer_size=16M
#缓冲池的大小(以字节为单位),InnoDB缓存表的内存区域以及索引数据。默认值为134217728字节(128MB)。最大值取决于CPU架构;在32位系统上,最大值为4294967295 #(232-1)以及在64位系统上的18446744073709551615(264-1)。在32位系统上,CPU体系结构和操作系统可以施加比规定的最大值。当缓冲池的大小大于1GB时,设置 #innodb_buffer_pool_instances的值大于1可以提高上的可伸缩性繁忙的服务器。 innodb_buffer_pool_size=128M
#定义重做日志文件所占用的磁盘空间量。此变量取代innodb_log_files_i_group和innodb_og_file_size变量。 innodb_redo_log_capacity=100M
#定义InnoDB内部允许的最大线程数。A值0的(默认值)被解释为无限并发(无限制)。这变量用于高并发系统上的性能调优。 #InnoDB试图保持InnoDB内部的线程数小于或等于innodb_thread_concurrency限制。一旦达到极限,就会有额外的线程被放入等待线程的“先进先出”(FIFO)队列中。线程等待锁不 #计入并发执行的线程数。 innodb_thread_concurrency=25
#当自动扩展InnoDB系统表空间文件变满时,用于扩展其大小的增量大小(MB)。 innodb_autoextend_increment=64
#InnoDB缓冲池被划分为的区域数。 #对于缓冲池在千兆字节范围内的系统,将缓冲池划分为单独的实例可以提高并发性,通过减少不同线程读取和写入缓存页面时的争用。 innodb_buffer_pool_instances=8
#确定可以同时进入InnoDB的线程数。 innodb_concurrency_tickets=5000
#指定插入到旧子列表中的块在其第一次访问之后必须停留在那里的时间(以毫秒为单位)可以将其移动到新的子列表中。 innodb_old_blocks_time=1000
#当启用该变量时,InnoDB会在元数据语句期间更新统计信息。 innodb_stats_on_metadata=0
#当innodb_file_per_table被启用时(5.6.6及更高版本中的默认值),innodb存储每个新创建的表的数据和索引在一个单独的.ibd文件中,而不是在系统表空间中。 innodb_file_per_table=1
#使用以下值列表:0表示crc32,1表示strict_crc32,2表示innodb,3表示strict_innodb,4表示none,5表示strict_none。 innodb_checksum_algorithm=0
#如果将其设置为非零值,则每flush_time秒关闭所有表以释放资源和将未刷新的数据同步到磁盘。此选项最好仅用于资源最少的系统。 flush_time=0
#用于普通索引扫描、范围索引扫描和不使用的联接的缓冲区的最小大小索引,从而执行全表扫描。 join_buffer_size=256K
#一个数据包或任何生成或中间字符串的最大大小,或由mysql_stmt_send_long_data()C API函数。 max_allowed_packet=64M
#如果在没有成功连接的情况下中断了来自主机的超过这个数量的连续连接请求,服务器阻止该主机执行进一步的连接。 max_connect_errors=100
#操作系统中可用于mysqld的文件描述符数如果mysqld给出错误“打开的文件太多”,请尝试增加此选项的值。 open_files_limit=8161
#如果在SHOW GLOBAL STATUS输出中每秒看到许多sort_merge_passes,可以考虑增加sort_buffer_size值以加快查询优化无法改进的ORDER BY或GROUP BY操作 #或改进的索引。 sort_buffer_size=256K
#指定基于行的二进制日志事件的最大大小(以字节为单位)。如果可能,行被分组为小于此大小的事件。该值应该是256的倍数。 binlog_row_event_max_size=8K
#如果此变量的值大于0,则副本会将其master.info文件同步到磁盘。 在每次sync_source_info事件之后使用 fdatasync()。 sync_source_info=10000
#如果此变量的值大于0,MySQL服务器会将其中继日志同步到磁盘。 在每次sync_relay_log写入中继日志之后使用 fdatasync()。 sync_relay_log=10000
#如果此变量的值大于0,则复制副本会将其relay-log.info文件同步到磁盘。 在每个sync_relay_log_info事务之后使用 fdatasync()。 sync_relay_log_info=10000
#一开始就加载mysql插件。"plugin_x ; plugin_y". # plugin_load
#MySQL Server X协议将侦听的TCP/IP端口。 loose_mysqlx_port=33060
|