-
mysql配置修改
2017-11-22 20:59:58问题今天写数据库(MySQL)然而出现的Got a packet bigger than‘max_allowed_packet’bytes瞬间懵逼??? 输出看一下,原来真的是超出了MySQL里面的最大长度限制,具体可如下查看:进入MySQL后: mysql> show ...问题
今天写数据库(MySQL)然而出现的
Got a packet bigger than‘max_allowed_packet’bytes
瞬间懵逼???
输出看一下,原来真的是超出了MySQL里面的最大长度限制,具体可如下查看:进入MySQL后: mysql> show variables like "%max_allow%" +--------------------------+------------+ | Variable_name | Value | +--------------------------+------------+ | max_allowed_packet | 4194304 | | slave_max_allowed_packet | 1073741824 | +--------------------------+------------+
而我的长度恰恰大于这个数值,然后确定是这个问题,原因是数据库内置配置的问题。。。修改!!!
解决方法
修改配置文件
方法一:
- 可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过mysql –help | grep my.cnf去寻找my.cnf文件。(通常我自己的操作是直接find / -name ‘my.cnf’)
2. 重启mysql服务
3. 执行命令查看是否成功SHOW VARIABLES LIKE '%max_allowed_packet%'
方法二:
使用命令修改max_allowed_packet 大小
1. 执行命令SET GLOBAL max_allowed_packet = 2*1024*1024*10 -- 单位为B
.
2. 然后关闭掉这此链接,再进入执行命令mysql> SHOW VARIABLES LIKE '%max_allowed_packet% ///现在的结果是: +--------------------------+------------+ | Variable_name | Value | +--------------------------+------------+ | max_allowed_packet | 20971520 | | slave_max_allowed_packet | 1073741824 | +--------------------------+------------+
上面我的是第一种方法修改后不生效,然后只能使用第二种。。。根据网上说法,具体问题如下:
根据自身经验和网上论坛帖子,第二种方法出现问题的概率相对较小。第一种我在最近的一次设置上,不起作用,使用第二种方式就没有问题,
第一种通过修改配置文件之后,max_allowed_packet 的值 不定期的自动改变, 网上对于这种解释是因为mysql内存不足,导致的
第二种修改配置文件之后,max_allowed_packet 的值 之后,没有生效,重启也没有生效,一种问题是本地的客户端与mysql服务器没有断开查询的,重新链接,查看是否生效,如果没有生效,使用第二种方式,进行修改 -
brew mysql 添加修改mysql配置
2015-11-03 12:29:09添加修改mysql配置 mysqld --help --verbose | more (查看帮助, 按空格下翻)你会看到开始的这一行(表示配置文件默认读取顺序)Default options are read from the following files in the given order: /etc/my.cnf ...brew安装的mysql是没有默认配置文件的,因此Mysql使用默认配置启动。我们需要手动创建my.cnf去覆盖默认配置。在/usr/local/opt/mysql 下确实有 my.cnf 但是并没有在启用中,应该是作为一个示例保存在安装目录的吧。所以手动添加配置文件到某个默认目录吧
添加修改mysql配置
mysqld --help --verbose | more
(查看帮助, 按空格下翻)你会看到开始的这一行(表示配置文件默认读取顺序)
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
通常这些位置是没有配置文件的, 所以要自己建一个
ls $(brew --prefix mysql)/support-files/my-*
(用这个可以找到样例.cnf)cp /usr/local/opt/mysql/support-files/my-default.cnf /etc/my.cnf
(拷贝到第一个默认读取目录)按需修改my.cnf
以下是英文资料 摘自http://stackoverflow.com/questions/7973927/for-homebrew-mysql-installs-wheres-my-cnf 最后一段还是比较直白的
There is no my.cnf by default. As such, MySQL starts with all of the default settings. If you want to create your own my.cnf to override any defaults, place it at /etc/my.cnf. Also, you can run mysql --help and look through it for the conf locations listed. Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf The following groups are read: mysql client The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read. As you can see, there are also some options for bypassing the conf files, or specifying other files to read when you invoke mysql on the command line. shareimprove this answer edited Feb 4 '14 at 2:44 answered Nov 2 '11 at 0:14 Jericon 1,614918 15 This no longer seems to be the case; I see a my.cnf file in /usr/local/Cellar/mysql/5.6.15/ (or whichever version you have installed) – William Turrell Dec 30 '13 at 20:02 3 @williamt "mysql --help" doesn't list that file as being used, I think it's just a default that comes with the installation files – Vinicius Pinto Jan 27 '14 at 17:01 1 @williamt I think Vinicius is right. I see /usr/local/Cellar/mysql/5.6.20_1/my.cnf but when I added the log-bin to it and restarted mysqld, it still didn't haven't binary logging enabled. It wasn't until I copied that my.cnf to /etc/my.cnf that binary logging was enabled. Perhaps that my.cnf file is used during the initial install, I'm not sure. – Mark Aug 27 '14 at 20:00 I'm on 5.6.26 and I don't see it there. – Adam Grant Oct 1 at 20:19
-
docker修改mysql配置
2019-08-06 15:46:16Docker 修改MySQL配置 作者:YoungJ 前言:大部分程序员在刚使用docker时,按照教程迅速的就装完了mysql,在使用的过程中出现各种问题:比如中文乱码、...Docker 修改MySQL配置
作者:YoungJ
前言:大部分程序员在刚使用docker时,按照教程迅速的就装完了mysql,在使用的过程中出现各种问题:比如中文乱码、
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1053 > 1024).
等等,最简单的方式通过sql去设置,但每次重启又还原了,那么本文就是通过docker下MySQL的配置去解决该问题。
-
从安装说起,获取镜像
docker pull mysql:5.7.18
-
查看镜像
docker images
-
运行docker容器
docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.18
(* 这里没有设置挂载外部的配置)
-
查看容器是否启动成功
docker ps
-
进入容器
docker exec -it 1383f2e49cb7 /bin/bash
-
查看配置
more /etc/mysql/mysql.conf.d/mysqld.cnf
(* 如果你执行到这步提示没有该文件,别着急,往下看)
-
编辑配置
-
第一种方式:将配置从容器中copy到宿主机(之前文章讲到过,可以去看下,如果没有该文件,那这一步省略,稍后直接将我写好的配置放到容器中就好)
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /root/mysqld.cnf
mysqld.cnf脚本如下:
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # The MySQL Server configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql #log-error = /var/log/mysql/error.log # By default we only accept connections from localhost #bind-address = 127.0.0.1 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character_set_server=utf8 init_connect='SET NAMES utf8' max_allowed_packet = 20M [mysql] default-character-set = utf8 [mysql.server] default-character-set = utf8 [mysqld_safe] default-character-set = utf8 [client] default-character-set = utf8
将修改后的配置copy到容器
docker cp /root/mysqld.cnf mymysql:/etc/mysql/mysql.conf.d/
(* mymysql是你容器的name,不清楚的可以通过docker ps看到)
-
另一种方式,直接编辑
在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package vim
这时候需要敲:apt-get update
这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
等更新完毕以后再敲命令:apt-get install vim
vim /etc/mysql/mysql.conf.d/mysqld.cnf
-
-
接下来重启容器就可以了(可以参考之前的文章)
docker restart 1383f2e49cb7
(* 1383f2e49cb7是容器的CONTAINER ID,可以通过docker ps看到 )
可以参考:
-
-
Docker下修改mysql配置
2019-12-03 15:28:16Docker下修改mysql配置 进入容器: docker exec -it mysql /bin/bash 如果容器中没有安装vim,进行安装: apt-get update apt-get install vim 查看配置文件: cat /etc/mysql/mysql.conf.d/mysqld.cnf ... -
Centos 7 中yum安装Mysql和修改mysql配置
2018-10-12 16:07:00mysql安装 1.安装MySQL官方的Yum Repository [root@ecs-7bec-0002 mysql]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm --2018-10-09 18:31:29-- ... -
mysql配置免密登录(修改配置文件方式)
2020-07-05 17:29:09mysql配置免密登录(修改配置文件方式) 本文主要解决在开发环境或者测试环境中测试代码不需要过多的考虑数据库的账户问题,所以配置Mysql数据免密登录。 修改Mysql的配置文件my.cnf vim /etc/my.cnf 添加–skip-... -
修改mysql配置文件
2019-05-27 18:00:27下午修改了半天也查了半天网上的修改编码,都不能完全修改编码,终于找到了解决办法。 终于找到了正确的修改方法: 1)查看当前的编码:show variables like 'character%'; +--------------------------+-------... -
docker内修改mysql配置文件
2020-06-19 20:21:18对于版本是5.7.29的mysql配置文件目录为: etc/mysql/mysql.conf.d/mysqld.cnf 网上其他人说的似乎都不对 在配置文件里的【mysqld】 下面加port=3316 然后退出docker exit 重启docker docker stop mymysql docker ... -
MySQL-WorkBench修改MySQL配置注意事项
2016-10-12 16:16:28MySQL WorkBench提供 DBA 和开发人员的综合的工具的环境︰数据库设计与建模SQL 开发数据库管理数据库迁移最近测试了workbench,发现非常好用,尤其支持Mysql配置文件的管理。安装也非常简单,直接在官网下载安装对应... -
mysql修改配置文件和修改密码
2019-10-12 09:48:48上网查询了,然后改了配置文件,修改了密码就OK了。 修改my.ini 找到mysql安装的目录,目录底下有一个my.ini,如果没有,则新建一个,文件内容就填以下的内容。 [mysql] default-character-set=utf8 [mysqld] ... -
docker下修改mysql配置文件
2017-06-19 11:49:58由于需要修改mysql的sql_mode,在命令行修改每次重启都会失效,因为修改docker下mysql的配置文件。操作系统:centos7 docker版本:Docker version 17.05.0-ce, build 89658be mysql版本:5.7.181.拉取镜像docker ... -
Gerrit下mysql5.7配置修改
2018-02-03 23:37:401. mysql默认编码配置 1.设置mysql服务端的默认编码 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf 打开文件后,在[mysqld] 的skip-external-locking下,添加character-set-server=utf8 ... -
win10安装mysql5.7 net start mysql拒绝访问 mysql配置文件修改不生效
2015-11-20 17:58:111、mysql服务无法手动启动、关闭问题、mysql桌面应用权限问题解决。 2、mysql配置文件路径问题解决。 -
windows环境 修改Mysql 配置文件的配置无效果
2019-01-04 16:28:51如果你给mysql配置文件中加入了配置并且无效果 ,那么你的mysql我猜是绿色版,可能是在你安装mysql的时候并没有去指定默认的配置文件! 解决方案: 1、删除之前的Mysql服务 sc delete mysql 2、初始化mysql服务 ...
-
c语言编程之图形编程举例
-
彻底学会正则表达式
-
基于FFMPEG和SDL开发MFC视频播放器
-
微服务系列第七十一季-Spring入门
-
Java星选一卡通
-
RHCSA初接触
-
ThreadPro-4.7以后的版本.rar
-
搭伴拼团小程序+后台(PHP)
-
oracle 11g默认用户名密码.zip
-
(新)备战2021软考网络规划设计师终极解密套餐
-
Java学习路线,好的学习路线和好的方法,能让我们少走些弯路
-
SpringCloud - gateway网关 - 过滤器工厂
-
ORACLE_PL_SQL实战精讲
-
面试题mysql普通索引唯一索引如何选择
-
C语言开发之对四个数排序.c
-
flash actionscript3 as3中的mx包,缺这个包的下载吧.rar
-
【开发工具】【ethtool】查询与设置网卡参数工具(ethtool)的安装与使用
-
RabbitMQ消息中间件实战(附讲义和源码)
-
将JDK默认编码设置为UTF-8
-
这样设置vmware虚拟机就可以上网了,虚拟机和真机之间也可以ping互通了.zip