序文
「MySQLサーバが立ち去りました」のエラー、SQLのジャンゴ関連の操作を実行するために時間を使って、次のチェックは、例外があるだろうと、大きなファイルをインポートし、SQLの実行の過程です。
画像を挿入、大きな絵の原因MySQLサーバが解消された確かに、SQL文の下に表示されます調べました。
問題は、デフォルトの構成設定のmax_allowed_packetが小さすぎでのみ正常に応じて調整大きな値を必要とした後、再度インポートすることができるようになります。
効果は、MySQLサーバがパケットサイズを受信制限するので、インポートされたファイルを超えて大きすぎると、インポートの結果セットの値は失敗しました!
環境:
CentOS7.4
mysql5.6
max_allowed_packet
まず、データベースへの接続のmax_allowed_packetの値を表示します。
Linuxシステムには、例えば、mysqlの-uroot -p mysqlの、mysqlは入力するようにrootユーザのパスワードを入力してくださいに入ります
MySQLの-uroot -p
[root@yoyo ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 33700
Server version: 5.6.42 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
max_allowed_packetの値をチェックしてください
「max_allowed_packetの」のようなグローバル変数を表示。
見るのmax_allowed_packet値はデフォルト4Mである4194304、である(4 1024 1024)
mysql> show global variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)
mysql>
max_allowed_packetの値を変更します。
max_allowed_packetサイズのみ4Mは、次の値(デフォルト1024 100Mに設定されている1024 100)
設定されたグローバルのmax_allowed_packet = 104857600;
max_allowed_packetの大きさを再確認
mysql> set global max_allowed_packet=104857600;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like 'max_allowed_packet';
+--------------------+-----------+
| Variable_name | Value |
+--------------------+-----------+
| max_allowed_packet | 104857600 |
+--------------------+-----------+
1 row in set (0.00 sec)
mysql> exit
Bye
セットアップが完了したら、データベースのうち終了とすることができます。
Navicatは変更
あなたがデータベースに直接動作しない場合は、Navicatはまた、リモートツールを使用して直接変更することができます
-- 修改max_allowed_packet
set global max_allowed_packet=104857600;
-- 查看
show global variables like 'max_allowed_packet';
現在のコマンドラインでのみ有効な設定であることに注意して、デフォルト値を復元するためにmysqlのサービスを再起動しますが、永続的なmy.cnf設定ファイルの目的を変更することによって達成することができます
my.cnfの設定
通常な/etc/my.cnfまたは/etc/mysql/my.cnfカタログのmy.cnfの設定ファイルには、猫を使用して、現在のコンフィギュレーションを表示します
[root@yoyo ~]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@yoyo ~]#
max_allowed_packetに= 100Mは、my.cnfの[mysqldを]に設定ファイルに追加することができます