MySQLインポートデータエラー:Got a packet bigger than'max_allowed_packet' bytes
1900 ワード
MySQLインポートデータエラー:Got a packet bigger than'max_allowed_packet' bytes
理由:
インポートされたデータは、システムの制限された最大パケットサイズより大きい.
挿入されたデータが大きすぎるかもしれませんが、現在作成されているプロジェクトではこのビッグデータが挿入されることは避けられないため、MySQLのデフォルト設定を変更するしかありません.
方法一:グローバル設定の古いバージョン
まずmysqlにログインして現在の値のサイズを表示します
show variables like '%max_allowed_packet%' ;Mysqlにログインして変更できます.
SET GLOBAL max_allowed_packet=150M;
方式2:新バージョン方式【実はMySQLツールが受け入れるパラメータが違う】
上記の方法で失敗した場合は、次の方法でお願いします.
SET GLOBAL max_allowed_packet=152428800;
バッファを150 Mに設定すると、インポート操作を続行できます.
インポートが終了したら、変更を忘れないでください.デフォルトは比較的小さいです.
SET GLOBAL max_allowed_packet=10M;
方法3:値が設定されているが有効でない場合、究極の解決方法
新しいバージョンのコマンドが実行されても効果はありません.このような操作は、次のようにする必要があります.
参照用の完全な構成
拡張読書:only_full_group_by SQLモード
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
問題の解決については、以下を参照してください.https://www.cnblogs.com/xiangyuqi/p/10627274.html
理由:
インポートされたデータは、システムの制限された最大パケットサイズより大きい.
挿入されたデータが大きすぎるかもしれませんが、現在作成されているプロジェクトではこのビッグデータが挿入されることは避けられないため、MySQLのデフォルト設定を変更するしかありません.
方法一:グローバル設定の古いバージョン
まずmysqlにログインして現在の値のサイズを表示します
show variables like '%max_allowed_packet%' ;Mysqlにログインして変更できます.
SET GLOBAL max_allowed_packet=150M;
: 1232
Incorrect argument type to variable 'max_allowed_packet'
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
方式2:新バージョン方式【実はMySQLツールが受け入れるパラメータが違う】
上記の方法で失敗した場合は、次の方法でお願いします.
SET GLOBAL max_allowed_packet=152428800;
バッファを150 Mに設定すると、インポート操作を続行できます.
インポートが終了したら、変更を忘れないでください.デフォルトは比較的小さいです.
SET GLOBAL max_allowed_packet=10M;
方法3:値が設定されているが有効でない場合、究極の解決方法
新しいバージョンのコマンドが実行されても効果はありません.このような操作は、次のようにする必要があります.
[root@localhost ~]# mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
[root@localhost ~]# vi /etc/my.cnf
:
max_allowed_packet = 100M
,
参照用の完全な構成
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
#MySQL 5.7 up 。 only_full_group_by SQL ,MySQL
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_allowed_packet = 100M
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
拡張読書:only_full_group_by SQLモード
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
問題の解決については、以下を参照してください.https://www.cnblogs.com/xiangyuqi/p/10627274.html