`
liusu
  • 浏览: 171341 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MySQL 版本迁移带来的PASSWORD()函数使用的问题

    博客分类:
  • Java
阅读更多

网上看到个有趣的问题。一个很简单的php demo,使用Mysql做后台数据库。重新部署到一个机器上,导入数据到新得MYSQL服务器。结果原来可以正常登陆的用户名和密码都不能用了。

密码存入的时候使用的是PASSWORD()函数。问题就出在这个PASSWORD函数。从5。1开始,MYSQL对PASSWORD函数做了改变,结果的字长需要最少41bytes。而早版本中的PASSWORD()字长只要16byte。所以user表的schema设计一般都是给了不到41字长得。到新版本中,PASSWORD()得结果就给截断了。然后通过

select user_id from user_table where user_name='$user_name' user_password=PASSWORD('$password')



这个查询语句,肯定查不到正确的值,存在table中的password已经短了一大截了。

更详细的请看 MySQL官方手册关于PASSWORD()函数变迁

 

0
0
分享到:
评论

相关推荐

    解决MySQL中文乱码以及版本不一致问题.pdf

    这种情况下,可以使用mysqldump命令行工具直接指定MySQL服务器的路径来绕过版本问题。例如: ```bash /usr/local/mysql/bin/mysqldump -u username -p password -h hostname database_name > dump_file.sql ``` ...

    MySQL5过渡到MySQL8问题解决方案完美

    MySQL8引入了许多新特性和性能优化,但同时也可能带来一些兼容性问题。在进行版本升级时,了解这些问题并找到合适的解决方案至关重要。 一、版本差异与兼容性问题 1. 兼容性变更:MySQL8对一些语法和配置进行了...

    MySQL5过渡到MySQL8问题解决方案【小Java项目】

    1. **兼容性问题**:MySQL8更改了一些默认设置和语法,例如,`OLD_PASSWORD`加密算法已被弃用,可能会导致旧密码无法使用。解决方法是在迁移前更新所有用户的密码,或者在升级过程中临时启用`mysql_native_password`...

    mysql-connector-java-5.1.46+mysql-connector-java-8.0.13--Mysql连接包

    新版本带来了以下改进: 1. **新功能**:支持MySQL 8.x的新特性,如窗口函数、JSON操作和动态SQL。 2. **性能提升**:通过优化查询解析和执行,提高了整体性能。 3. **Unicode增强**:全面支持Unicode 9.0,包括更...

    PyPI 官网下载 | mysql2postgresql-0.3.0.tar.gz

    `PyPI`(Python Package Index)是Python编程语言的官方软件仓库,用于发布和发现Python...在实际操作中,正确配置数据库连接参数,理解数据迁移的潜在问题,以及熟悉所使用的库的API,都能确保迁移任务的顺利进行。

    浅析mysql迁移到clickhouse的5种方法

    MySQL到ClickHouse的数据迁移是大数据领域常见的操作,尤其在应对实时分析、大数据处理场景时,ClickHouse因其高性能、高并发的特性成为很多企业的首选。本文将详细探讨五种将MySQL数据迁移到ClickHouse的方法。 1....

    mysql-8.0.18 和 mysql-8.0.26.zip

    MySQL是世界上最受欢迎的...在实际操作中,用户需要按照官方文档的指导进行安装和迁移,确保数据的安全无损,并充分利用新版本带来的优势。同时,保持数据库系统的及时更新,是保障业务连续性和数据完整性的重要措施。

    mysql 导入导出数据库以及函数、存储过程的介绍

    此外,MySQL还支持函数和存储过程,这两种高级特性能够帮助用户实现更复杂的数据处理逻辑。 **一、数据库导入导出** 1. **全库导出**:使用`mysqldump`工具,可以将整个数据库导出为SQL文件。命令格式如下: ``` ...

    将Django使用的数据库从MySQL迁移到PostgreSQL的教程

    在本文中,我们将详细探讨如何将Django应用的数据库从MySQL迁移到PostgreSQL。这个过程主要涉及以下几个步骤,包括在PostgreSQL中创建数据库实例、更新Django设置、同步与迁移表、清理数据、备份和恢复数据,以及...

    Go-Go数据库迁移工具

    这将在指定的环境中生成一个新的迁移文件,文件中包含一个空的`Up`和`Down`函数,分别用于数据库的升级和降级操作。 ### 4. 执行迁移 使用`up`和`down`命令来执行迁移: ```bash # 向上迁移至最新版本 goose dev ...

    mysql-connector-java-8.0.11&mysql;-connector-java-5.1.44.rar

    例如,8.x版本的连接器支持JSON数据类型、窗口函数、多源复制等MySQL 8.0引入的新特性。 解压缩后,你会找到两个版本的`.jar`文件,这是Java可执行的二进制文件,可以直接添加到Java项目的类路径中,以启用数据库...

    mysql-server-mysql-8.0.30.tar.gz

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其最新版本为8.0.30。这个压缩包"mysql-server-mysql-8.0.30.tar.gz"包含了MySQL服务器的源代码,允许用户在Linux或其他类Unix系统上编译和安装。让我们深入...

    MySQL5学习笔记.pdf

    随着技术的发展,MySQL也在不断进化,如后续的MySQL 5.5、5.6、5.7及8.0版本,带来了更多的性能提升和新功能,例如JSON支持和更好的性能优化工具。因此,持续学习和跟进MySQL的最新进展是保持数据库技能与时俱进的...

    Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)

    MySQL数据库编码问题涉及到字符集的选择、配置以及数据的迁移和处理。字符集是决定数据库中存储和检索文本数据的方式,对于多语言支持和数据迁移至关重要。UTF-8是一种广泛使用的多字节字符编码,支持全球大部分语言...

    mysql-v5.7.19.zip

    版本5.7.19是MySQL的一个重要里程碑,它带来了许多增强的功能和性能优化。这个压缩包“mysql-v5.7.19.zip”显然是MySQL Server 5.7.19的安装文件,特别是为Windows 32位操作系统设计的,包含文件“mysql-5.7.19-win...

    mysql转SqlServer

    - 使用`OPENQUERY`函数和`INSERT INTO...SELECT FROM`语句将数据从MySQL迁移到SQL Server。例如: ```sql INSERT INTO testSQL.s_news_ SELECT * FROM OPENQUERY(MysqlDNS, 'SELECT * FROM mysqldb.s_news_'); ...

    mysql 转到 sqlite

    以上就是从MySQL迁移到SQLite的基本流程。在实际操作中,可能还需要考虑备份、性能优化、用户权限等问题。对于大型数据库,可能需要分批迁移,以减少一次性处理大量数据的压力。迁移完成后,记得更新应用程序中的...

    asp.net连接mysql

    MySQL 是一个广泛使用的开源关系型数据库管理系统,而 ASP.NET 是 Microsoft 提供的用于构建 Web 应用程序的框架。当这两个技术结合时,开发者可以利用 ASP.NET 的强大功能与 MySQL 的高效性能。 首先,要实现 ASP...

    mysql乱码解决方案

    MySQL乱码问题通常是由于字符集不一致导致的,尤其是在跨平台或版本迁移时。以下是一些详细的解决方案: 1. **数据库导入乱码** 当从一个MySQL版本导出数据到另一个版本时,可能存在字符集不兼容的问题。比如,从4...

    mysql-installer-community-8.0.11.0安装包.zip

    在使用过程中,用户需要注意的是,MySQL 8.0版本在权限系统和加密方面做了重大调整,例如引入了Caching_sha2_password代替传统的mysql_native_password认证插件,这可能会对旧版本的客户端连接造成影响。因此,升级...

Global site tag (gtag.js) - Google Analytics