`
dbp_cn
  • 浏览: 86003 次
  • 性别: 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...

    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数据库转瀚高数据库所需要的函数列表

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

    mysql 5.5升级到5.7

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

    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,这是一个稳定且广泛使用的...

    aarch64架构下mysql数据库安装.zip

    此外,压缩包中还有一个名为`data.tar.gz`的文件,这可能是用来备份或迁移数据库的数据文件。如果你需要恢复数据,可以先将数据解压,然后使用MySQL的`mysqlimport`工具或者直接在SQL语句中LOAD DATA INFILE导入数据...

Global site tag (gtag.js) - Google Analytics