日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

How to change max_allowed_packet size

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 How to change max_allowed_packet size 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

How to change max_allowed_packet size

up vote ? ? ? ?116 ? ? ? ?down vote ? ? ? ?favorite ? ? ? ?

40

I am having a problem with BLOB fields in my MySQL database - when uploading files larger than approx 1MB I get an error Packets larger than max_allowed_packet are not allowed.

Here is what i've tried:

In MySQL Query Browser I ran a show variables like 'max_allowed_packet' which gave me 1048576.

Then I execute the query set global max_allowed_packet=33554432 followed by show variables like 'max_allowed_packet' - it gives me 33554432 as expected.

But when I restart the MySQL server it magically goes back to 1048576. What am I doing wrong here?

Bonus question, is it possible to compress a BLOB field?

mysql ? ?

shareimprove this question

asked Nov 9 '11 at 9:01 ? ?

? ?

Muleskinner ? ? ? ?

3,891123868 ? ? ? ?




A BLOB field is a Binary Large OBject. It's just bits. So yes, you can compress the contents, and it gives other (and hopefully, less) bits you store in the BLOB-field instead. It just changes which data you put in it. You'll have to decompress the BLOB-contents when you need it again, too. ? ? ? ? ? ? ? ? ? ?–?Konerak ? ? ? ? ? ? ? ?Nov 9 '11 at 9:12 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?



Ok thanks, had hoped a compress feature build into mysql existed ? ? ? ? ? ? ? ? ? ?–?Muleskinner ? ? ? ? ? ? ? ?Nov 9 '11 at 9:26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1 ? ? ? ? ? ? ? ? ? ? ? ?

possible duplicate of MySQL Error 1153 - Got a packet bigger than 'max_allowed_packet' bytes ? ? ? ? ? ? ? ? ? ?–?cnst ? ? ? ? ? ? ? ?Jan 17 '14 at 4:04 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

add a comment ? ? ? ? ? ? ? ? ? ?

8 Answers

? ? ? ? ? ?active ? ? ? ? ? ? ? ? ? ?oldest ? ? ? ? ? ? ? ? ? ?votes

? ?

up vote ? ? ? ?140 ? ? ? ?down vote ? ? ? ?accepted

Change in the my.ini file. Include the single line under [mysqld] in your file

max_allowed_packet=500M

now restart the MySQL service and you are done.

See the documentation for further information.

shareimprove this answer

edited Jan 28 '15 at 14:23 ? ?

answered Nov 9 '11 at 9:04 ? ?

? ?

Manuel ? ? ? ?

5,31242651 ? ? ? ?


43 ? ? ? ? ? ? ? ? ? ? ? ?

Most stuff is easy to find through Google, once you know how and where to find it. Taunting is not needed, but if you could provide a link to the correct location in the MySQL documentation, the user gets to know the official sites and resources and can find it for himself easier the next time. Teach a man to fish... ? ? ? ? ? ? ? ? ? ?–?Konerak ? ? ? ? ? ? ? ?Nov 9 '11 at 9:13 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?



Thanks seems to be working even though I had hoped this would be possible without having to modify ini files manually. ? ? ? ? ? ? ? ? ? ?–?Muleskinner ? ? ? ? ? ? ? ?Nov 9 '11 at 9:24 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?



Changing the my.ini file is basically the same as chaning the settings in other programs. Here it's just a file from which the program reads the info. ? ? ? ? ? ? ? ? ? ?–?Manuel ? ? ? ? ? ? ? ?Nov 9 '11 at 9:30 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

13 ? ? ? ? ? ? ? ? ? ? ? ?

FYI readers, this is also the solution to "MySQL has gone away" error ? ? ? ? ? ? ? ? ? ?–?djb ? ? ? ? ? ? ? ?Jul 10 '13 at 14:59 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1 ? ? ? ? ? ? ? ? ? ? ? ?

@Konerak, Who was the taunter? ? ? ? ? ? ? ? ? ? ?–?Pacerier ? ? ? ? ? ? ? ?Apr 1 '15 at 5:21 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

show 3 more comments ? ? ? ?

up vote ? ? ? ?86 ? ? ? ?down vote

The max_allowed_packet variable can be set globally by running a query.

However, if you do not change it in the my.ini file (as dragon112 suggested), the value will reset when the server restarts, even if you set it globally.

To change the setting for everyone until the server restarts:

SET?GLOBAL?max_allowed_packet=1073741824;

? ?

shareimprove this answer

edited May 5 '13 at 21:40 ? ?

answered Nov 9 '11 at 9:41 ? ?

? ?

TehShrike ? ? ? ?

5,4312025 ? ? ? ?


3 ? ? ? ? ? ? ? ? ? ? ? ?

Not helps :(. It displays "Query OK, 0 rows affected (0.00 sec)" ? ? ? ? ? ? ? ? ? ?–?artnikpro ? ? ? ? ? ? ? ?Jul 3 '14 at 16:06 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

5 ? ? ? ? ? ? ? ? ? ? ? ?

@artnikpro It does work, "Query OK, 0 rows affected (0.00 sec)" might feel misleading but it is right. ? ? ? ? ? ? ? ? ? ?–?AnnTea ? ? ? ? ? ? ? ?Aug 4 '14 at 12:09 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

4 ? ? ? ? ? ? ? ? ? ? ? ?

doesn't work for me. SHOW VARIABLES WHERE variable_name = 'max_allowed_packet' still shows old value ? ? ? ? ? ? ? ? ? ?–?Poma ? ? ? ? ? ? ? ?May 22 '15 at 22:47 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

6 ? ? ? ? ? ? ? ? ? ? ? ?

It shows the old value because max_allowed_packet doesn't change for existing connections. ?If you disconnect and reconnect you'll see the updated value. ? ? ? ? ? ? ? ? ? ?–?Matt Crinklaw-Vogt ? ? ? ? ? ? ? ?Jul 29 '15 at 20:51 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?



!!! This solution does not work.!!! ? ? ? ? ? ? ? ? ? ?–?Pat R Ellery ? ? ? ? ? ? ? ?Aug 17 '15 at 22:00 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

show 1 more comment ? ? ? ?

up vote ? ? ? ?37 ? ? ? ?down vote

One of my junior developers was having a problem modifying this for me so I thought I would expand this in greater detail for linux users:

1) open terminal

2) ssh root@YOURIP

3) enter root password

4) nano /etc/my.cnf ?(if command is not recognized do this first or try vi then repeat: yum install nano )

5) add the line: max_allowed_packet=256M (obviously adjust size for whatever you need) under the [MYSQLD] section. He made a mistake of putting it at the bottom of the file first so it did not work.

6) Control + O (save) ?then ENTER (confirm) then Control + X (exit file)

7) service mysqld restart

8) You can check the change in the variables section on phpmyadmin

shareimprove this answer

answered Jan 20 '14 at 14:32 ? ?

? ?

naw103 ? ? ? ?

866610 ? ? ? ?


10 ? ? ? ? ? ? ? ? ? ? ? ?

-1 for recommending to ssh as root. Root ssh access must be disabled on a safe server. Use sudo instead. ? ? ? ? ? ? ? ? ? ?–?tamasd ? ? ? ? ? ? ? ?Jun 4 '14 at 8:55 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?



this was actually done on CentosOS6 , I of course agree about not using root ssh access though ? ? ? ? ? ? ? ? ? ?–?naw103 ? ? ? ? ? ? ? ?Jun 16 '15 at 0:38 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

add a comment ? ? ? ? ? ? ? ? ? ?

up vote ? ? ? ?14 ? ? ? ?down vote

I think some would also want to know how to find the my.ini file on your PC. For windows users, I think the best way is as follows:

  • Win+R(shortcut for 'run'), type services.msc, Enter

  • You could find an entry like 'MySQL56', right click on it, select properties

  • You could see sth like "D:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="D:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56

  • I got this answer from http://bugs.mysql.com/bug.php?id=68516

    shareimprove this answer

    answered Nov 22 '13 at 3:30 ? ?

    ? ?

    fstang ? ? ? ?

    586510 ? ? ? ?




    works pefectly thanks ? ? ? ? ? ? ? ? ? ?–?Robocide ? ? ? ? ? ? ? ?Jul 1 '15 at 7:43 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?



    Excellent!!! Been searching all over for the file... ? ? ? ? ? ? ? ? ? ?–?Ayodeji ? ? ? ? ? ? ? ?Jan 22 at 16:34 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    add a comment ? ? ? ? ? ? ? ? ? ?

    up vote ? ? ? ?7 ? ? ? ?down vote

    If getting this error while performing a backup, max_allowed_packet can be set in the my.cnf particularly for mysqldump.

    [mysqldump]max_allowed_packet=512M

    I kept getting this error while performing a mysqldump and I did not understand because I had this set in my.cnf under the [mysqld] section. Once I figured out I could set it for [mysqldump] and I set the value, my backups completed without issue.

    shareimprove this answer

    edited May 19 '14 at 17:52 ? ?

    answered Feb 23 '14 at 21:14 ? ?

    ? ?

    xpros ? ? ? ?

    74979 ? ? ? ?


    add a comment ? ? ? ? ? ? ? ? ? ?

    up vote ? ? ? ?4 ? ? ? ?down vote

    For those running wamp mysql server

    Wamp tray Icon -> MySql -> my.ini

    [wampmysqld]port????????=?3306socket??????=?/tmp/mysql.sock key_buffer_size?=?16M max_allowed_packet?=?16M????????//?-->?changing?this?wont?solvesort_buffer_size?=?512K

    Scroll down to the end until u find

    [mysqld]port=3306explicit_defaults_for_timestamp?=?TRUE

    Add the line of packet_size in between

    [mysqld]port=3306max_allowed_packet?=?16M explicit_defaults_for_timestamp?=?TRUE

    Check whether it worked with this query

    Select?@@global.max_allowed_packet;

    ? ?

    shareimprove this answer

    answered Sep 29 '15 at 9:38 ? ?

    ? ?

    Sayka ? ? ? ?

    1,9781919 ? ? ? ?




    plus 1 for mentioning how to check that it is set ? ? ? ? ? ? ? ? ? ?–?Abimbola Esuruoso ? ? ? ? ? ? ? ?Dec 27 '15 at 18:18 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    add a comment ? ? ? ? ? ? ? ? ? ?

    up vote ? ? ? ?3 ? ? ? ?down vote

    This error come because of your data contain larger then set value.

    Just write down the max_allowed_packed=500Mor you can calculate that 500*1024k and use that instead of 500M if you want.

    Now just restart the MySQL.

    shareimprove this answer

    edited Nov 10 '11 at 4:03 ? ?

    ? ?

    Brock Adams ? ? ? ?

    47.3k985138 ? ? ? ?

    answered Nov 9 '11 at 9:23 ? ?

    ? ?

    Suresh ? ? ? ?

    7372512 ? ? ? ?




    Where should it be added ???????? ? ? ? ? ? ? ? ? ? ?–?Pratik C Joshi ? ? ? ? ? ? ? ?Oct 17 '15 at 4:29 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    add a comment ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? ? ? ? ?

    up vote ? ? ? ?0 ? ? ? ?down vote

    If you want upload big size image or data in database. Just change the data type to 'BIG BLOB'


    轉載于:https://my.oschina.net/airship/blog/611190

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的How to change max_allowed_packet size的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。