`
dbp_cn
  • 浏览: 86290 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql数据库迁移到新的实例可能遇到的坑-mysql5.7

 
阅读更多

一、 mysql数据库导入sql文件时提示“Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes”

1.查看目前数据库配置

show VARIABLES like '%max_allowed_packet%';

显示如下结果

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

| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
说明目前的配置是:1048576/1024/1024 = 1M
 
二、mysql 忽略表名大小写
因为linux下mysql默认是要区分表名大小写的。mysql是否区分大小写设置是由参数lower_case_table_names决定的
lower_case_table_names = 1 
不区分大小写即对表名大小写不敏感)。这样设置后,表名在硬盘上以小写保存,MySQL将所有表名转换为小写存储和查找表上。该行为也适合数据库名和表的别名
也就是说,mysql设置为不分区大小写后,创建库或表时,不管创建时使用大写字母,创建成功后,都是强制以小写保存!
修改配置文件:
[root@test-huanqiu ~]# cat /etc/my.cnf                                          //添加下面一行设置
.....
[mysqld]
lower_case_table_names=1
 
三、mysql5.7.x:this is incompatible with DISTINCT
DISTINCT关键字经常在MySQL中使用,在mysql5.7以前的版本中一般没有什么问题,但是在5.7以后的版本中会遇到这样的错误
Caused by: java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column ‘game.giftbag0_.create_date’ which is not in SELECT list; this is incompatible with DISTINCT
 
错误提示DISTINCT不兼容,要么更改SQL,但是对于开发者来讲,sql运行一直都是正常的,可能是mysql 版本升级导致的安全问题,5.7.x安全性提升了很多,解决办法可以考虑修改MySQL配置文件,找到对应的my.cnf或者my.ini
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
1
添加该行就ok!
 
还有一种错也是不兼容的问题导致的
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘nctest.pivot.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
 
这种问题就是sql_mode=only_full_group_by导致的,去掉only_full_group_by就解决了

 

  • 大小: 142.1 KB
分享到:
评论

相关推荐

    mysql-5.7.34-winx64.zip

    4. **数据迁移**:将现有数据迁移到新的分片架构中,这可能需要停机操作或使用在线迁移工具。 5. **应用层改造**:更新应用程序以适配分片架构,调整SQL语句以指定分片键,可能还需要引入中间件或分片服务来处理分片...

    refman-5.7-en.a4.pdf

    该官方文档(`refman-5.7-en.a4.pdf`)详细记录了 MySQL 5.7 版本及其相关 NDB Cluster 7.5 和 7.6 的所有特性、功能和使用方法。文档中涵盖了从基本概念到高级技术的全面内容,并且适用于不同层次的用户。 #### 二...

    kettle(ETL工具)mysql 5.7 数据库的驱动包

    MySQL驱动包,如`mysql-connector-java-5.1`,包含了必要的Java类和资源,使得Kettle能够识别并通信到MySQL 5.7数据库。这个驱动包的文件通常是一个JAR(Java Archive)文件,包含了所有需要的类和资源,用于解析SQL...

    Windows系统如何安装Mysql_5.7.36-winx64免安装版

    在Windows系统上安装MySQL_5.7.36-winx64免安装版是一个非常实用的方法,特别是对于那些不希望占用过多系统资源或者频繁迁移数据库服务的用户。这个过程涉及几个关键步骤,包括解压文件、配置环境变量、创建数据目录...

    mysql-5.7.32-winx64.zip

    MySQL 5.7版是一个重要的版本,引入了许多新特性、性能提升以及对安全性的强化。 1. **MySQL 5.7新特性**: - **JSON支持**:MySQL 5.7增加了内置的JSON数据类型,允许存储和查询JSON格式的数据,无需转换为传统...

    Mysql5.6迁移到HGDBV4.3.4.docx

    本文档主要关注从MySQL 5.6迁移到瀚高数据库(HGDB)4.3.4的过程,以及在这个过程中可能遇到的问题及解决方案。 1. **数据类型迁移** - MySQL中的`DOUBLE`在瀚高数据库中对应为`DOUBLE PRECISION`,这可能会对数值...

    MySQL数据库迁移data文件夹位置详细步骤

    本篇将详细介绍如何迁移MySQL的`data`文件夹,即数据库的数据存储位置。 首先,MySQL数据库在Linux系统中,通常默认将数据文件存储在`/var/lib/mysql`目录下。然而,由于各种原因,比如`/var`分区空间不足或为了更...

    Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    1.备份旧的MySQL5.7的数据 记得首先要备份旧的数据,防止升级失败导致数据丢失。备份的方式有两种,一种是在宿主机直接执行导出命令,另外一种是先进入Docker环境下进行操作。主要的导出命令如下: #方式一,直接在...

    mysql 5.7更改数据库的数据存储位置的解决方法

    在本文中,我们将详细介绍如何在MySQL 5.7版本中更改数据库的数据存储位置,以解决空间不足的问题。 首先,需要修改MySQL配置文件以指定新的数据存储目录。在大多数Linux系统中,配置文件通常位于`/etc/my.cnf`。...

    mysql5.7-windows版.zip

    MySQL 5.7是MySQL数据库管理系统的一个重要版本,特别针对Windows 64位操作系统进行了优化。这个版本在功能、性能和稳定性上都有显著提升,使其成为Windows环境下开发和部署数据库应用的理想选择。以下是对MySQL 5.7...

    mysql8.0.11驱动包,兼容支持MySQL 5.5, 5.6, 5.7,8.0.zip

    这种广泛的兼容性对于那些需要在不同MySQL环境之间迁移或测试的开发者来说尤其重要,因为他们不必因为数据库版本的不同而频繁更换驱动。 MySQL是一款开源的关系型数据库管理系统(RDBMS),由Oracle公司拥有并维护...

    mysql 5.7 Percona Server

    MySQL 5.7 Percona Server 是一个针对 MySQL 数据库服务器的增强版本,旨在提供更高效、更稳定且功能丰富的数据库管理解决方案。Percona 公司是 MySQL 社区的重要贡献者,他们对 MySQL 进行了优化,尤其注重在高并发...

    refman-5.7-en.a4 MySQL5.7官方文档

    - **升级建议**:对于现有用户来说,从早期版本(如MySQL 5.6)升级到MySQL 5.7时,需要注意兼容性问题,确保数据的平滑迁移。此外,官方推荐在升级前备份所有数据。 - **常见问题解答**:文档中还提供了一系列关于...

    MySQL5.7 新功能

    ### MySQL 5.7 新功能详解 #### 一、概览 MySQL 5.7作为MySQL 5.6的重要更新版本,在多个方面进行了显著的改进和优化,包括但不限于安全性、性能提升以及对新特性的支持等。本文将重点介绍MySQL 5.7中的新功能,...

    MySQL数据库文件存放位置

    例如,如果需要迁移数据库,只需复制相应的数据文件到新的服务器即可。但要注意,在操作前务必备份这些重要文件,以免数据丢失。 总的来说,MySQL数据库文件的存放位置是系统管理和维护中的基础知识点。熟悉这些...

    mysql 5.5升级到5.7

    ### MySQL 5.5 升级到 5.7 的步骤与注意事项 #### 背景介绍 在本文档中,我们将详细介绍如何将MySQL数据库从版本5.5.46升级到5.7.9的过程。这个过程是在Ubuntu 14.04系统上进行的。升级MySQL的主要目的是为了利用...

    mysql数据库转瀚高数据库所需要的函数列表

    1、mysql数据库转国产化瀚高数据库; 2、有些函数在瀚高数据库中不存在,需要添加自定义函数。

    mysql5.7操作文档大全

    - **文档目的**:本文档旨在提供MySQL 5.7在Linux环境下的卸载与安装、数据库迁移、主从配置以及互为主从配置等操作指南。 - **适用场景**:适用于Linux环境下MySQL 5.7版本的操作与维护。 #### 二、卸载MySQL...

    mysql-5.7.43-winx64

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,尤其在Web应用程序开发中占据着核心地位。这个"mysql-5.7.43-winx64"压缩包提供了适用于Windows 64位系统的MySQL服务器版本5.7.43,这是一个稳定且广泛使用的...

Global site tag (gtag.js) - Google Analytics