Windows オペレーティング システムの MySQL 構成ファイルは「my.ini」で、通常は MySql インストールのルート ディレクトリにあるか、隠しフォルダー「ProgramData」の下にある場合があります。 Linux オペレーティング システムのファイル ファイルは「my.cnf」で、その場所は通常、「/etc/my.cnf」または「/etc/mysql/my.cnf」ディレクトリにあります。
このチュートリアルの動作環境: linux7.3&&windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
Windows オペレーティング システムの MySQL の構成ファイルは my.ini であり、Linux オペレーティング システムの MySQL の構成ファイルは my.cnf です。
# #my.ini 構成ファイル
my.ini は、MySQL で使用されるデフォルトの構成ファイルです。通常の状況では、my.ini 構成ファイルの内容が変更されていれば、MySQL を構成できます。
MySQL インストール ディレクトリには、上で紹介したディレクトリに加えて、サフィックス .ini が付いた複数の構成ファイルが存在する場合があります。構成ファイルが異なれば、意味も異なります。
my.ini は、MySQL で使用されるデフォルトの構成ファイルです。他の構成ファイルは、さまざまなデータベースに適した構成ファイルのテンプレートです。適切なデータベースの種類は、ファイル名に示されています。次に、構成ファイルを示します。について詳しく説明しました。
- my-huge.ini: 非常に大規模なデータベースに適した構成ファイル。
- my-large.ini: 大規模なデータベースに適した構成ファイル。
- my-medium.ini: 中規模のデータベースに適した構成ファイル。
- my-small.ini: 小規模データベースに適した構成ファイル。
- my-template.ini: 構成ファイルのテンプレートです。MySQL 構成ウィザードは、構成ファイル内の選択された項目を my.ini ファイルに書き込みます。
- my-innodb-heavy-4G.ini: この構成ファイルが InnoDB ストレージ エンジンに対してのみ有効であり、サーバーのメモリが 4GB 未満であってはいけないことを示します。
読者の便宜のため、my.ini ファイル内のコメントを省略しました。 my.ini のパラメータの具体的な意味については、後で別途紹介します。ファイルの内容は次のとおりです:
[client]
port=3306
[mysql]
default-character-set=gbk
上記はクライアントのパラメータを示しています。[client] と [mysql] は両方ともパラメータの説明は次のとおりです:
- port: MySQL クライアントがサーバーに接続するために使用するポート番号を示します。デフォルトのポート番号は 3306 です。ポート番号を変更する必要がある場合は、ここで直接変更できます。
- default-character-set: MySQL クライアントのデフォルトの文字セットを示します。
[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
上記はサーバーのパラメータです。パラメータの説明は次の表に示されています:
パラメータ名 | 説明 |
#port | は、MySQL サーバー |
basedir# のポート番号を表します。 ## は MySQL のポート番号を表します。 インストール パス |
| ##datadir
は、MySQL データ ファイルの保存場所とデータ テーブルの保存場所を表します |
##default-character -set |
サーバー側のデフォルトの文字セットを示します
|
default-storage-engine |
データ テーブルの作成時に使用されるデフォルトのストレージ エンジン
|
sql-mode |
SQL モードのパラメータを示します。このパラメータを通じて、厳密性を設定できます。 SQL ステートメントのチェック数
| ##max_connections | は、MySQL サーバーに同時にアクセスできる最大接続数を示します。接続の 1 つは予約されており、管理者専用に予約されています。
| query_cache_size | は、クエリ中のキャッシュ サイズを表します。キャッシュには、SELECT ステートメントを通じて以前にクエリされたデータを保存できます.情報を使用すると、再度クエリを実行するときにキャッシュから情報を直接取り出すことができるため、クエリの効率が向上します。
| table_open_cache | すべてのユーザーによって開かれたテーブルの合計数を示します。プロセス
| tmp_table_size | メモリ内の各一時テーブルに許可される最大サイズを示します
| thread_cache_size | キャッシュの最大スレッド数を示します
#myisam_max_sort_file_size |
MySQL がインデックスを再構築するときに許可される最大一時ファイル サイズを示します |
myisam_sort_buffer_size |
インデックス再構築時のキャッシュ サイズを示します |
##key_buffer_size | キーワードのキャッシュ サイズを示します |
#read_buffer_size
MyISAM テーブルのフル テーブル スキャンのキャッシュ サイズを示します |
|
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视频教程】
以上がmysqlの設定ファイルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。