今天使用mysql数据库存储数据发现报错:Packets larger than max_allowed_packet are not allowed.
windows操作如下 打开mysql CMD窗口 输入命名: show VARIABLES like '%max_allowed_packet%'; 查看接收数据包大小
我的是4M 如果过小请通过命令修改 set global max_allowed_packet = 2*1024*1024*10;
修改后重启数据库服务:在用 show VARIABLES like '%max_allowed_packet%'; 查看完成修改
重启服务在:我的电脑 -> 右击选着 -> 管理-> 服务和应用程序->服务-> 找到Mysql57(这是我的)->右击->重新启动。 完成
2017-8-18 修改 新添加点东西
如果 用上面的命令修改后 过一段时间又出现这个问题那么 有可能你用的是 Root 账户 和简单的密码 被人攻击后 会修改为1024 建议修改密码为强密码 包含大小写 特殊字符可以避免被攻击 或者限制 访问IP 或者 用其它用户登录 mysql
同时附上 两句代码
1. update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
1是修改密码的Mysql代码 修改密码为文中的 ‘root’ 该代码在 mysql数据库执行否则无效
2. flush privileges;
2是 重启mysql服务命令
2017-10-17修改 新添加点东西
查看连接超时时间: show global variables like "%timeout%";
就是数据库timeout超时 8小时连接断开问题 window系统在MySQL 安装目录找到 MySQL\MySQL Server 5.7\my.ini 文件
在文档最下面添加
wait_timeout = 天*时*分*秒
interactive_timeout = 天*时*分*秒
修改后重启数据库服务
或者尝试命令重启: flush privileges;
2018-6-20
发现代码修改完全无反应:直接在文件位置找到my.ini 文件 在文件中直接添加,添加后重启 数据库服务 就一定会出现。
max_allowed_packet = X*y*Z
wait_timeout = 天*时*分*秒
interactive_timeout = 天*时*分*秒
然后在 计算机中的 服务中 找到对应 数据库的服务器 右击 重启服务就行了