search
HomeDatabaseMysql TutorialWhat is the configuration file of mysql

The MySQL configuration file in the Windows operating system is "my.ini", which is generally located in the root directory of the MySql installation, or may be under the hidden folder "ProgramData"; while the MySQL configuration file in the Linux operating system The file is "my.cnf", and its location is generally in the "/etc/my.cnf" or "/etc/mysql/my.cnf" directory.

What is the configuration file of mysql

The operating environment of this tutorial: linux7.3&&windows7 system, mysql8 version, Dell G3 computer.

The configuration file of MySQL in Windows operating system is my.ini; the configuration file of MySQL in Linux operating system is my.cnf.

  • Generally, my.ini is in the root directory of the MySql installation, or it may be under the hidden folder "ProgramData".

  • Generally, my.cnf is in the /etc/my.cnf or /etc/mysql/my.cnf directory

my.ini configuration file

my.ini is the default configuration file used by MySQL. Under normal circumstances, MySQL can be configured as long as the contents in the my.ini configuration file are modified.

In addition to the directories introduced above, there may be several configuration files with the suffix .ini in the MySQL installation directory. Different configuration files represent different meanings.

my.ini is the default configuration file used by MySQL. Other configuration files are templates for configuration files suitable for different databases. The suitable database type is indicated in the file name. Here are the following: Configuration files are explained in detail.

  • my-huge.ini: Configuration file suitable for very large databases.

  • my-large.ini: Configuration file suitable for large databases.

  • my-medium.ini: Configuration file suitable for medium-sized databases.

  • my-small.ini: Configuration file suitable for small databases.

  • my-template.ini: It is the template of the configuration file. The MySQL Configuration Wizard writes the selected items in the configuration file to the my.ini file.

  • my-innodb-heavy-4G.ini: Indicates that this configuration file is only valid for the InnoDB storage engine, and the server's memory cannot be less than 4GB.

For the convenience of readers, we have omitted the comments in the my.ini file. The specific meanings of the parameters in my.ini are introduced separately below. The file content is as follows:

[client]
port=3306
[mysql]
default-character-set=gbk

The above shows the parameters of the client. [client] and [mysql] are both clients. The parameter descriptions are as follows:

  • port: Indicates the port number used by the MySQL client to connect to the server. The default port number is 3306. If you need to change the port number, you can modify it directly here.

  • default-character-set: Indicates the default character set of the MySQL client.

[mysqld]

port=3306
basedir=C:/Program Files/MySQL/MySQL Server 5.7/
datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data

character-set-server=gb2312
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=35M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=55M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

The above are the parameters of the server. The parameter description is shown in the following table:

##default-character -setIndicates the default character set on the server sidedefault-storage-engineThe default storage engine used when creating a data tablesql-modeIndicates the parameter of SQL mode. Through this parameter, you can set the strictness of checking SQL statements##max_connectionsquery_cache_sizetable_open_cachetmp_table_sizethread_cache_sizemyisam_max_sort_file_sizemyisam_sort_buffer_sizekey_buffer_sizeread_buffer_sizeread_rnd_buffer_sizesort_buffer_size
innodb_additional_mem_pool_size=3M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=107M
innodb_log_file_size=54M
innodb_thread_concurrency=18

以上是 InnoDB 存储引擎使用的参数,参数说明如下:

  • innodb_additional_mem_pool_size:表示附加的内存池,用来存储 InnoDB 表的内容。

  • innodb_flush_log_at_trx_commit:是设置提交日志的时机,若设置为 1,InnoDB 会在每次提交后将事务日志写到磁盘上。

  • innodb_log_buffer_size:表示用来存储日志数据的缓存区的大小。

  • innodb_buffer_pool_size:表示缓存的大小,InnoDB 使用一个缓冲池类保存索引和原始数据。

  • innodb_log_file_size:表示日志文件的大小。

  • innodb_thread_concurrency:表示在 InnoDB 存储引擎允许的线程最大数。

注意:每次修改 my.ini 文件中的参数后,必须重新启动 MySQL 服务才会有效。

my.cnf配置文件

为了方便读者阅读,我们省略了 my.cnf 文件中的注释内容。下面分开介绍 my.cnf 中参数的具体意义,文件内容如下:

[client]
port=3306
socket=/var/run/mysql/mysql.sock
[mysqldump]
quick
max_allowed_packet = 16M

以上参数会被 MySQL 客户端应用读取,参数说明如下:

  • port:MySQL 客户端连接服务器端时使用的端口号,默认为 3306

  • socket:套接字文件所在目录

  • quick:支持较大的数据库转储,导出非常巨大的表时需要此项 。

  • max_allowed_packet:服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个连接独立的大小,大小动态增加。

注意:只有 MySQL 附带的客户端应用程序保证可以读取这段内容。如果想要自己的 MySQL 应用程序获取这些值,需要在 MySQL 客户端库初始化的时候指定这些选项。

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /mydata/mysql/data
port=3306
server-id = 1
socket=/var/run/mysql/mysql.sock

上述参数说明如下:

  • user:mysqld 程序在启动后将在给定 UNIX/Linux 账户下执行。mysqld 必须从 root 账户启动才能在启动后切换到另一个账户下执行。mysqld_safe 脚本将默认使用 user=mysql 选项来启动 mysqld 程序。

  • basedir:指定 MySQL 安装的绝对路径;

  • datadir:指定 MySQL 数据存放的绝对路径;

  • port:服务端口号,默认为 3306

  • server-id:MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。

  • socket:socket 文件所在目录

character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1
key_buffer_size=16M
max_allowed_packet=8M
no-auto-rehash
sql_mode=TRADITIONAL
  • character-set-server:数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用 4 个字节)

  • collation-server:数据库字符集对应一些排序等规则,注意要和 character-set-server 对应

  • init_connect:设置 client 连接 mysql 时的字符集,防止乱码

  • lower_case_table_names:是否对 sql 语句大小写敏感,1 表示不敏感

  • key_buffer_size:用于指定索引缓冲区的大小

  • max_allowed_packet:设置一次消息传输的最大值

  • no-auto-rehash:仅仅允许使用键值的 UPDATES 和 DELETES

  • sql_mode:表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度

上述内容可能与你的配置文件不同,当有什么需求时,复制使用相应的参数即可。

【相关推荐:mysql视频教程

Parameter name Description
port represents the port number of the MySQL server
basedir represents the port number of MySQL The installation path
datadir represents the storage location of MySQL data files and the storage location of the data table
indicates the maximum number of connections allowed to access the MySQL server at the same time. One of the connections is reserved and is reserved for administrators only.
represents the cache size during query. The cache can store previously queried data through the SELECT statement. information, you can directly take out the information from the cache when querying again, which can improve query efficiency
Indicates the total number of tables opened by all processes
Indicates the maximum size allowed for each temporary table in memory
Indicates the maximum number of threads for the cache
Indicates the maximum temporary file size allowed when MySQL rebuilds the index
Indicates the cache size when rebuilding the index
Indicates the cache size of keywords
Indicates the cache size of the MyISAM table full table scan
Indicates that the sorted data is stored in the cache
Indicates the buffer size used for sorting

The above is the detailed content of What is the configuration file of mysql. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What are stored procedures in MySQL?What are stored procedures in MySQL?May 01, 2025 am 12:27 AM

Stored procedures are precompiled SQL statements in MySQL for improving performance and simplifying complex operations. 1. Improve performance: After the first compilation, subsequent calls do not need to be recompiled. 2. Improve security: Restrict data table access through permission control. 3. Simplify complex operations: combine multiple SQL statements to simplify application layer logic.

How does query caching work in MySQL?How does query caching work in MySQL?May 01, 2025 am 12:26 AM

The working principle of MySQL query cache is to store the results of SELECT query, and when the same query is executed again, the cached results are directly returned. 1) Query cache improves database reading performance and finds cached results through hash values. 2) Simple configuration, set query_cache_type and query_cache_size in MySQL configuration file. 3) Use the SQL_NO_CACHE keyword to disable the cache of specific queries. 4) In high-frequency update environments, query cache may cause performance bottlenecks and needs to be optimized for use through monitoring and adjustment of parameters.

What are the advantages of using MySQL over other relational databases?What are the advantages of using MySQL over other relational databases?May 01, 2025 am 12:18 AM

The reasons why MySQL is widely used in various projects include: 1. High performance and scalability, supporting multiple storage engines; 2. Easy to use and maintain, simple configuration and rich tools; 3. Rich ecosystem, attracting a large number of community and third-party tool support; 4. Cross-platform support, suitable for multiple operating systems.

How do you handle database upgrades in MySQL?How do you handle database upgrades in MySQL?Apr 30, 2025 am 12:28 AM

The steps for upgrading MySQL database include: 1. Backup the database, 2. Stop the current MySQL service, 3. Install the new version of MySQL, 4. Start the new version of MySQL service, 5. Recover the database. Compatibility issues are required during the upgrade process, and advanced tools such as PerconaToolkit can be used for testing and optimization.

What are the different backup strategies you can use for MySQL?What are the different backup strategies you can use for MySQL?Apr 30, 2025 am 12:28 AM

MySQL backup policies include logical backup, physical backup, incremental backup, replication-based backup, and cloud backup. 1. Logical backup uses mysqldump to export database structure and data, which is suitable for small databases and version migrations. 2. Physical backups are fast and comprehensive by copying data files, but require database consistency. 3. Incremental backup uses binary logging to record changes, which is suitable for large databases. 4. Replication-based backup reduces the impact on the production system by backing up from the server. 5. Cloud backups such as AmazonRDS provide automation solutions, but costs and control need to be considered. When selecting a policy, database size, downtime tolerance, recovery time, and recovery point goals should be considered.

What is MySQL clustering?What is MySQL clustering?Apr 30, 2025 am 12:28 AM

MySQLclusteringenhancesdatabaserobustnessandscalabilitybydistributingdataacrossmultiplenodes.ItusestheNDBenginefordatareplicationandfaulttolerance,ensuringhighavailability.Setupinvolvesconfiguringmanagement,data,andSQLnodes,withcarefulmonitoringandpe

How do you optimize database schema design for performance in MySQL?How do you optimize database schema design for performance in MySQL?Apr 30, 2025 am 12:27 AM

Optimizing database schema design in MySQL can improve performance through the following steps: 1. Index optimization: Create indexes on common query columns, balancing the overhead of query and inserting updates. 2. Table structure optimization: Reduce data redundancy through normalization or anti-normalization and improve access efficiency. 3. Data type selection: Use appropriate data types, such as INT instead of VARCHAR, to reduce storage space. 4. Partitioning and sub-table: For large data volumes, use partitioning and sub-table to disperse data to improve query and maintenance efficiency.

How can you optimize MySQL performance?How can you optimize MySQL performance?Apr 30, 2025 am 12:26 AM

TooptimizeMySQLperformance,followthesesteps:1)Implementproperindexingtospeedupqueries,2)UseEXPLAINtoanalyzeandoptimizequeryperformance,3)Adjustserverconfigurationsettingslikeinnodb_buffer_pool_sizeandmax_connections,4)Usepartitioningforlargetablestoi

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)