MYSQL大小写不敏感导致用户登录异常问题

 更新时间:2023年04月12日 15:53:03   作者:榴莲豆包  
这篇文章主要介绍了MYSQL大小写不敏感导致用户登录异常问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

MYSQL大小写不敏感导致用户登录异常

问题:

注册用户system全部小写,但是系统登录时,使用SYSTEM登陆成功。

原因:

MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,这个字符集对大小写不敏感,因此在比较过程中大小写转换造成了这种现象。

解决:

对于相关字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10) binary"。 

MYSQLV8.0设置大小写不敏感后不能正常启动

之前安装MySQL时大小写是敏感的,结果公司RDS上的生产库中配置是不敏感的,导致不同步,需要把开发数据库也修改为大小写不敏感,经过网上搜索,需要修改my.cnf配置文件。

第一步:查找my.cnf文件位置

1、使用 find / -name "my.cnf"

/etc/my.cnf

找到my.cnf 文件位于 /etc 目录下。

2、vi /etc/my.cnf

尾部增加配置

lower_case_table_names=1

ESC wq 退出并保存。

3、重启MySQL

  • 停掉MySQL服务:service mysqld stop
  • 启动MySQL服务:service mysqld start

结果却出错了,显示:

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

找了半天也没找到错误原因,把新加的 lower_case_table_names=1 注释掉以后,可以正常启动了。

猜测:莫非系统已有数据库,所以不支持修改这个大小写敏感的配置吗?  

网友的解决办法

1.Mysql8.0开启忽略表大小写,无法启动,解决方案

mysql8.0默认是区分大小写。因此如果要设置忽略大小写,需要在安装完成之后,初始化数据库的时候进行设置。

/usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1

2.初始化完成之后在启动数据库。否则的话就会是无效的。

3.如果要是已经启动了数据库,在配置文件中再去修改,就会造成数据库无法启动的情况。

如果出现这个情况,首先需要删除掉

/var/lib/mysql

  • 文件夹下面的所有的文件。
  • 再去修改配置文件my.cnf
  • 添加lower_case_table_names=1
  • 在启动mysql。

这样可以完美解决

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Mysql DDL常见操作汇总

    Mysql DDL常见操作汇总

    这篇文章主要介绍了Mysql DDL常见操作汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • MySQL查看与修改当前数据库编码的方法

    MySQL查看与修改当前数据库编码的方法

    这篇文章主要介绍了MySQL查看与修改当前数据库编码的方法,需要的朋友可以参考下
    2016-04-04
  • 浅析Mysql 中如何导出数据

    浅析Mysql 中如何导出数据

    MySQL中你可以使用SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上,这篇文章给大家介绍了Mysql 中如何导出数据,感兴趣的朋友跟随小编一起看看吧
    2023-11-11
  • MySQL针对Discuz论坛程序的基本优化教程

    MySQL针对Discuz论坛程序的基本优化教程

    这篇文章主要介绍了MySQL针对Discuz论坛程序的基本优化教程,包括在缓存和索引等方面的优化方法,需要的朋友可以参考下
    2015-11-11
  • MySQL可重复读隔离级别下开启事务的问题解决

    MySQL可重复读隔离级别下开启事务的问题解决

    本文主要介绍了MySQL可重复读隔离级别下开启事务的问题解决,详解在Repeatable Read隔离级别下,mysql的快照生成时机的问题,感兴趣的可以了解一下
    2024-07-07
  • MYSQL中查询LONGBLOB类型数据的大小的详细示例

    MYSQL中查询LONGBLOB类型数据的大小的详细示例

    在MySQL中,LONGBLOB 是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,但是,LONGBLOB 数据类型本身并不直接存储数据的大小(长度),它存储的是二进制数据的实际内容,这篇文章主要介绍了MYSQL中怎么查询LONGBLOB类型数据的大小,需要的朋友可以参考下
    2024-06-06
  • MySQL 5.7.27下载安装配置的详细教程

    MySQL 5.7.27下载安装配置的详细教程

    这篇文章主要介绍了MySQL 5.7.27详细下载安装配置教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • MySQL8.0本地服务器连接不上的问题解决

    MySQL8.0本地服务器连接不上的问题解决

    一个内网内连接mysql会出现提示Host xxx is not allowed to connect to this MySQL server,本文主要介绍了MySQL8.0本地服务器连接不上的问题解决,感兴趣的可以了解一下
    2024-01-01
  • MySQL中的ORDER BY问题

    MySQL中的ORDER BY问题

    这篇文章主要介绍了MySQL中的ORDER BY问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • mysql如何导出服务器内所有的数据库

    mysql如何导出服务器内所有的数据库

    这篇文章主要介绍了mysql如何导出服务器内所有的数据库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10

最新评论