mysql修改max_allowed_packet

因mysql从库报错Last_IO_Error: Got a packet bigger than ‘max_allowed_packet‘ bytes

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State:
                  Master_Host: 192.168.90.190
                  Master_User: rsync
                  Master_Port: 3311
                Connect_Retry: 60
              Master_Log_File: mysql-bin.001891
          Read_Master_Log_Pos: 897184977
               Relay_Log_File: mysql-relay-bin.003780
                Relay_Log_Pos: 897185056
        Relay_Master_Log_File: mysql-bin.001891
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 897184910
              Relay_Log_Space: 897185322
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1153
                Last_IO_Error: Got a packet bigger than ‘max_allowed_packet‘ bytes
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
row in set (0.00 sec)

第一步:先登录数据库,查看 max_allowed_packet 这个参数值

连接数据库服务器,登录 mysql, 执行命令 : show variables like ‘%max_allowed_packet%‘; 默认是1M

mysql> show variables like ‘%max_allowed_packet%‘;
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)

第二步:set global max_allowed_packet = 100 *1024*1024;

mysql> set global max_allowed_packet = 100 *1024*1024;
Query OK, 0 rows affected (0.00 sec)

#接着查看没有变过来,需要退出重新登陆,查看的是原始值(缓存)
mysql> show variables like ‘%max_allowed_packet%‘;
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)

第三步:重新登陆确认是否生效:

mysql> show variables like ‘%max_allowed_packet%‘;
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| max_allowed_packet | 104857600 |
+--------------------+-----------+
1 row in set (0.00 sec)

第四步:重启slave

mysql> stop slave;
Query OK, 0 rows affected (0.02 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.90.90
                  Master_User: rsync
                  Master_Port: 3311
                Connect_Retry: 60
              Master_Log_File: mysql-bin.001891
          Read_Master_Log_Pos: 948459439
               Relay_Log_File: mysql-relay-bin.003780
                Relay_Log_Pos: 897185056
        Relay_Master_Log_File: mysql-bin.001891
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 897184910
              Relay_Log_Space: 948459887
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 1356
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
1 row in set (0.00 sec)

第五步:修改配置文件

修改配置文件--Linux在 Linux 中,MySQL 对应的配置文件是 my.cnf , 我们在Linux终端输入如下命令 :

[[email protected]192-168-90-90 ~]# mysql --help | grep my.cnf
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf #如果在启动时没有指定my.cnf 就优先列表,先找到的配置文件生效
[[email protected]192-168-90-90 data3311]# more my.cnf
[mysqld]
basedir=/usr/local/mysql5.5
datadir=/home/mysql5.5/data3311
tmpdir=/home/mysql5.5/data3311/temp
port = 3311
server_id = 3311
socket=/home/mysql5.5/data3311/mysql3311.sock
character_set_server=‘utf8‘
max_allowed_packet=100M

 

时间: 2024-11-02 04:19:14

mysql修改max_allowed_packet的相关文章

mysql修改max_allowed_packet数据包最大值

在windows环境下!!!! 1.找到my.inc文件,不是你的安装目录路径,是C:\ProgramData\MySQL\MySQL Server 5.7这个路径,注意 ProgramData 文件夹是隐藏的需要显示出来!!! C:\ProgramData\MySQL\MySQL Server 5.7  这个路径下有一个my.inc 文件. 2.打开该文件Ctrl+F 找到max_allowed_packet 位置,修改后边的值. 3.注意!!根据自己需要的大小来调整,最大貌似就是1024M,

mysql 修改表引擎方法

修改表引擎方法 方法1:修改mysql.ini配置文件,重启mysql服务生效 修改my.ini,在[mysqld]下加上default-storage-engine=INNODB 其中红色字体部分是要指定的引擎名称. 用sql语句修改已经建成表的引擎: alter table tableName type=InnoDB 下面贴出我的my.ini文件供参考: [mysqld] basedir=C:\Program Files\VertrigoServ\Mysql\ datadir=C:\Prog

mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)

这篇文章主要介绍了mysql中max_allowed_packet参数的配置方法,以及查看max_allowed_packet参数当前值的方法,需要的朋友可以参考下 MySQL根据配置文件会限制Server接受的数据包大小.有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置: 复制代码 代码如下: show VARIABLES like '%max_allowed_packet%'; 显示的结果为: 复制代码 代码如下: +------

Linux中MySQL数据库max_allowed_packet的调整

在MySQL数据库里某表有一个blob字段,当上传文件超过1M的时候出现下面的错误: PreparedStatementCallback; SQL [insert into uos.docfile(remark,content,email,addtime,filename) values ('654645',?,'[email protected]',NOW(),'飞得更高-汪峰.mp3' )]; Packet for query is too large (6571400 > 1048576)

面试问题 | MySQL 修改哪些配置文件可以进行优化?

本文转载自ITPUB公众号 配置文件中具体修改的内容是什么呢?要是面试官问你,你该怎么回答?你想下,你坐在一间屋子里. 服务器的 MySQL性能优化,有两个大致的方向考虑,第一个是服务器硬件,另一个是MySQL自身的my.cnf配置文件. 服务器的磁盘,CPU和内存,这些都是要考虑的因素 1,磁盘的I/O 能力,也就是它的寻道能力,目前的SCSI高速旋转的是7200转/秒,这样的速度,一旦访问的用户量上去,磁盘的压力就会过大,如果是每天的网站pv在150w,这样的一般的配置就无法满足这样的需求了

mysql 修改用户密码

修改mysql用户密码 目录 mysqladmin命令 UPDATE user 语句 SET PASSWORD 语句 root密码丢失的情况(待验证) mysqladmin命令(回目录) 格式如下(其中,USER为用户名,PASSWORD为新密码): mysqladmin -u USER -p password PASSWORD 该命令之后会提示输入原密码,输入正确后即可修改.例如,设置root用户的密码为123456,则 mysqladmin -u root -p password 12345

mysql修改默认的环境的字符集为utf-8

mysql修改环境的默认字符集为utf-8(当然你也可以设置成utf-8) 首先得在服务里关掉mysql的服务 然后到你的mysql的安装路径,如果是自定义就找到自定义的路径,默认是:C:\Program Files\MySQL\MySQL Server 5.0\my.ini. 找到那个  client  mysql   里加入        default-character-set=utf8 mysqld下面加入:    default-character-set=utf8 init_con

mysql修改密码的注意点

修改root密码: 不用登陆mysql修改密码的方法 例如,原来的密码是654321,要改成123456 [[email protected] html]# mysqladmin -uroot -p654321 password 123456 [[email protected] html]# 一定要注意,-u和-p后面不能带空格!

MySQL修改密码的各种方法,yc整理

MySQL修改密码的各种方法 整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -uroot mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin-u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin-u root