Mysql tmp_table_sizeおよびmax_heap_table_sizeが機能していません


8

次のmy.cnfように、ファイルのテーブルtmpサイズをより高い値に設定しました。

tmp_table_size = 64M
max_heap_table_size = 64M

しかし、それは機能していません。このスクリプトを使用して確認しました。再起動した後でも、16Mがデフォルト値であることを示しています。

何が悪いのですか?

回答:


15

設定が[mysqld]/etc/my.cnf のグループの下にあることを確認する必要があります

[mysqld]
tmp_table_size = 64M
max_heap_table_size = 64M

次に、次の2つのいずれかを行います。

オプション1:mysqlを再起動します

service mysql restart

オプション2:新しい着信接続に対してグローバルに設定する(再起動は不要)

SET GLOBAL tmp_table_size = 1024 * 1024 * 64;
SET GLOBAL max_heap_table_size = 1024 * 1024 * 64;

試してみる !!!


これSET GLOBAL ...はサービスの再起動が持続しないことに注意してください(少なくとも5.0では5.5では試されていません)。
Oneiroi

@Oneiroiそのため、最初に変数を[mysqld]グループヘッダーの下のmy.cnfに追加すると言いました。次に、通常の営業時間内に再起動できない場合に備えて、動的に設定します...
RolandoMySQLDBA

ああ、それは私がスキムを読むために得るものです、私の悪いです。
Oneiroi

0

my.cnfからスペースを削除します。

[mysqld]
...
tmp_table_size=64M
max_heap_table_size=64M
...

問題を解決する必要があります、私は過去にこれに私自身を捕まえたことがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.