mysql 设置max all_修改mysql配置中my.conf中max_allowed_packet变量

有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。

查看目前配置

show VARIABLES like '%max_allowed_packet%';

显示的结果为:

+--------------------+---------+

| Variable_name      | Value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+

以上说明目前的配置是:1M

修改方法

1、修改配置文件 (详情见下文配置步骤)

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

max_allowed_packet = 20M

如果找不到my.cnf可以通过

mysql --help | grep my.cnf

去寻找my.cnf文件。

linux下该文件在/etc/下。

2、在mysql命令行中修改

在mysql 命令行中运行

set global max_allowed_packet = 2*1024*1024*10

然后退出命令行,重启mysql服务,再进入。

show VARIABLES like '%max_allowed_packet%';

查看下max_allowed_packet是否编辑成功

配置步骤

1、首先查看mysql安装目录下support-files文件夹下是否有my-default.cnf这个文件

localhost:etc qingclass$ pwd

/usr/local/mysql/support-files

sun:support-files sun$ ll

total48

-rw-r--r-- 1 root wheel 773 3 4 21:40magic-rwxr-xr-x 1 root wheel 894 3 4 22:27 mysql-log-rotate*

-rwxr-xr-x 1 root wheel 10585 3 4 22:27 mysql.server*

-rwxr-xr-x 1 root wheel 1061 3 4 22:27 mysqld_multi.server*

如果有,就好办了,直接转移到/etc下,并且修改名字为my.cnf

2、如果没有则需要自己创建一个文件。

localhost:etc qingclass$ sudo vim my.cnf #会打开创建一个新的文件,将下边的内容复制进去

# Example MySQL config file for small systems.

#

# This is for a system with little memory (<= 64M) where MySQL is only used

# from time to time and it's important that the mysqld daemon

# doesn't use much resources.

#

# MySQL programs look for option files in a set of

# locations which depend on the deployment platform.

# You can copy this option file to one of those

# locations. For information about these locations, see:

# http://dev.mysql.com/doc/mysql/en/option-files.html

#

# In this file, you can use all long options that a program supports.

# If you want to know which options a program supports, run the program

# with the "--help" option.

# The following options will be passed to all MySQL clients

[client]

default-character-set=utf8#password= your_passwordport= 3306socket= /tmp/mysql.sock# Here follows entries for some specific programs

# The MySQL server

[mysqld]

#解决only_full_group_by的问题

#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONdefault-storage-engine=INNODBcharacter-set-server=utf8collation-server=utf8_general_ciport= 3306socket= /tmp/mysql.sockskip-external-locking

key_buffer_size= 16Kmax_allowed_packet= 1Mtable_open_cache= 4sort_buffer_size= 64Kread_buffer_size= 256Kread_rnd_buffer_size= 256Knet_buffer_length= 2Kthread_stack= 128K# Don't listen on a TCP/IP port at all. This can be a security enhancement,

# if all processes that need to connect to mysqld run on the same host.

# All interaction with mysqld must be made via Unix sockets or named pipes.

# Note that using this option without enabling named pipes on Windows

# (using the "enable-named-pipe" option) will render mysqld useless!

#

#skip-networking

server-id= 1# Uncomment the following if you want to log updates

#log-bin=mysql-bin# binary logging format - mixed recommended

#binlog_format=mixed# Causes updates to non-transactional engines using statement format to be

# written directly to binary log. Before using this option make sure that

# there are no dependencies between transactional and non-transactional

# tables such as in the statement INSERT INTO t_myisam SELECT * FROM

# t_innodb; otherwise, slaves may diverge from the master.

#binlog_direct_non_transactional_updates=TRUE# Uncomment the following if you are using InnoDB tables

#innodb_data_home_dir= /usr/local/mysql/data#innodb_data_file_path= ibdata1:10M:autoextend#innodb_log_group_home_dir= /usr/local/mysql/data# You can set .._buffer_pool_size up to 50 - 80 %

# of RAM but beware of setting memory usage too high

#innodb_buffer_pool_size= 16M#innodb_additional_mem_pool_size= 2M# Set .._log_file_size to 25 % of buffer pool size

#innodb_log_file_size= 5M#innodb_log_buffer_size= 8M#innodb_flush_log_at_trx_commit= 1#innodb_lock_wait_timeout= 50[mysqldump]

quick

max_allowed_packet= 16M[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

[myisamchk]

key_buffer_size= 8Msort_buffer_size= 8M[mysqlhotcopy]

interactive-timeout

修改 mysqldump 和 mysqld  中修改max_allowed_packet变量退出保存

3、修改配置文件权限

chmod 664 /etc/my.cnf

4、重启mysql

5、登录mysql服务器 选择库,执行导入source /Users/qingclass/Downloads/sale_shared_revenue.sql

mysql 5.8以上版本有问题可以参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值