Heim >Datenbank >MySQL-Tutorial >Was ist die Konfigurationsdatei von MySQL?

Was ist die Konfigurationsdatei von MySQL?

青灯夜游
青灯夜游Original
2022-06-27 15:16:3733676Durchsuche

Die MySQL-Konfigurationsdatei im Windows-Betriebssystem ist „my.ini“, die sich im Allgemeinen im Stammverzeichnis der MySql-Installation befindet, oder sich im versteckten Ordner „ProgramData“ befinden kann, während die MySQL-Konfigurationsdatei im Linux Das Betriebssystem ist „my .cnf“, der Speicherort befindet sich im Allgemeinen im Verzeichnis „/etc/my.cnf“ oder „/etc/mysql/my.cnf“.

Was ist die Konfigurationsdatei von MySQL?

Die Betriebsumgebung dieses Tutorials: Linux7.3- und Windows7-System, MySQL8-Version, Dell G3-Computer.

Die Konfigurationsdatei von MySQL im Windows-Betriebssystem ist my.ini; die Konfigurationsdatei von MySQL im Linux-Betriebssystem ist my.cnf.

  • Im Allgemeinen befindet sich my.ini im Stammverzeichnis der MySql-Installation oder möglicherweise im versteckten Ordner „ProgramData“.

  • Im Allgemeinen befindet sich my.cnf im Verzeichnis /etc/my.cnf oder /etc/mysql/my.cnf.

my.ini-Konfigurationsdatei

my.ini wird standardmäßig von MySQL verwendet Konfigurationsdatei: Unter normalen Umständen kann MySQL konfiguriert werden, solange der Inhalt in der Konfigurationsdatei my.ini geändert wird.

Zusätzlich zu den oben vorgestellten Verzeichnissen gibt es möglicherweise mehrere Konfigurationsdateien mit der Endung .ini im MySQL-Installationsverzeichnis. Verschiedene Konfigurationsdateien haben unterschiedliche Bedeutungen.

my.ini ist die von MySQL verwendete Standardkonfigurationsdatei. Der geeignete Datenbanktyp wird im Folgenden erläutert.

  • my-huge.ini: Konfigurationsdatei geeignet für sehr große Datenbanken.

  • my-large.ini: Konfigurationsdatei geeignet für große Datenbanken.

  • my-medium.ini: Konfigurationsdatei geeignet für mittelgroße Datenbanken.

  • my-small.ini: Konfigurationsdatei geeignet für kleine Datenbanken.

  • my-template.ini: Dies ist die Vorlage der Konfigurationsdatei. Der MySQL-Konfigurationsassistent schreibt die Auswahl in der Konfigurationsdatei in die Datei my.ini.

  • my-innodb-heavy-4G.ini: Zeigt an, dass diese Konfigurationsdatei nur für die InnoDB-Speicher-Engine gültig ist und der Speicher des Servers nicht weniger als 4 GB betragen darf.

Zur Vereinfachung für die Leser haben wir die Kommentare in der my.ini-Datei weggelassen. Die spezifische Bedeutung der Parameter in my.ini wird unten separat vorgestellt. Der Dateiinhalt lautet wie folgt:

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

Die Parameterbeschreibung von [client] und [mysql] lautet wie folgt:

  • Port: Gibt die Portnummer an, die der MySQL-Client für die Verbindung zum Server verwendet. Die Standardportnummer ist 3306. Wenn Sie die Portnummer ändern müssen, können Sie sie direkt hier ändern.

  • default-character-set: Gibt den Standardzeichensatz des MySQL-Clients an.

[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

Die Parameterbeschreibung ist in der folgenden Tabelle aufgeführt:

Gibt die maximale Cache-Größe an. Die Anzahl der Threads. stellt die maximal zulässige temporäre Dateigröße dar, wenn MySQL den Index neu erstellt. stellt die Cache-Größe dar, wenn der Index neu erstellt wird Gibt die Cache-Größe von Schlüsselwörtern an stellt die Cache-Größe des vollständigen Tabellenscans der MyISAM-Tabelle dar stellt das Speichern der sortierten Daten im Cache dar repräsentiert die Cache-Größe, die zum Sortieren verwendet wird
Parametername Beschreibung
Port stellt die Portnummer des MySQL-Servers dar
basedir bedeutet: Der Installationspfad von MySQL
datadir repräsentiert den Speicherort von MySQL-Datendateien und den Speicherort von Datentabellen
default-character-set repräsentiert den Server- Seite Standardzeichensatz
default-storage -engine Beim Erstellen einer Datentabelle stellt die Standardspeicher-Engine
sql-mode den Parameter des SQL-Modus dar. Mit diesem Parameter können Sie die Strenge festlegen der Überprüfung von SQL-Anweisungen
max_connections bedeutet, dass die maximale Anzahl gleichzeitiger Verbindungen auf den MySQL-Server zugreifen soll. Eine der Verbindungen ist nur für den Administrator reserviert.
query_cache_size gibt die Cache-Größe an, die zuvor über die SELECT-Anweisung abgefragt wurde, und kann bei einer erneuten Abfrage direkt abgerufen werden Cache. Mithilfe der Informationen können Sie die Abfrageeffizienz verbessern. Table_open_cache Gibt die Gesamtzahl der von allen Prozessen geöffneten Tabellen an thread_cache_size
myisam_max_sort_file_size
myisam_sort_buffer_size
key_buffer_size
read_buffer_size
read_rnd_buffer_size
sort_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视频教程

Das obige ist der detaillierte Inhalt vonWas ist die Konfigurationsdatei von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn