MySQL表名不区分大小写的设置方法

yizhihongxing

MySQL表名不区分大小写的设置方法可以通过修改配置文件my.cnf或者在启动mysql服务时添加参数的方式进行设置。这里分别介绍这两种方式的操作步骤。

通过修改my.cnf配置文件进行设置

  1. 查找my.cnf文件所在位置。

可以在终端中执行以下命令直接查询my.cnf文件的位置:

mysql --help | grep -A 1 "Default options"
  1. 打开my.cnf文件进行编辑。

例如,使用vim编辑器打开my.cnf文件:

sudo vim /etc/mysql/my.cnf
  1. 定位到[mysqld]配置节并添加lower_case_table_names参数。

在[mysqld]配置节后添加如下内容:

[mysqld]
lower_case_table_names=1

这里lower_case_table_names=1表示表名大小写不敏感。

  1. 保存并退出编辑器。

  2. 重启mysql服务以使设置生效。

例如,在Ubuntu上可以使用以下命令重启mysql服务:

sudo systemctl restart mysql.service

通过启动参数进行设置

  1. 编辑MySQL服务启动脚本。

例如,在Ubuntu上可以编辑/etc/init.d/mysql启动脚本:

sudo vim /etc/init.d/mysql
  1. 在启动脚本中添加--lower-case-table-names=1参数。

在#!/bin/sh行后添加以下内容:

set -- $(/usr/sbin/mysqld --print-defaults | tr " " "\n" | grep -- "--datadir" | sed -e "s|--datadir=||")
exec /usr/sbin/mysqld --lower-case-table-names=1 --basedir=/usr --datadir="$1" --plugin-dir=/usr/lib/mysql/plugin "${@}"

这里--lower-case-table-names=1表示表名大小写不敏感。

  1. 保存并退出编辑器。

  2. 重启mysql服务以使设置生效。

例如,在Ubuntu上可以使用以下命令重启mysql服务:

sudo systemctl restart mysql.service

注意:修改MySQL表名不区分大小写的设置方法可能会导致某些原本大小写敏感的应用程序或者sql语句失效。因此在使用时需要谨慎验证。

示例一:

如果mysql服务启动时有多个参数,需要在其他参数的基础上,添加 --lower-case-table-names=1 参数。例如,在/etc/mysql/my.cnf 中,存在以下内容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
lower_case_table_names=0

表示表名大小写敏感。如果需要将其改为表名大小写不敏感,则需要修改为:

[mysqld]
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
lower_case_table_names=1

示例二:

如果需要修改MySQL服务启动脚本,初次使用系统自带的 mysql_sock 配置文件,在 /etc/init.d/mysql 中,存在以下内容:

set -- /usr/bin/mysqld_safe
if test -x /usr/sbin/mysqld; then
    set -- /usr/sbin/mysqld
fi
datadir=$(grep ^datadir /etc/mysql/mysql.conf.d/mysqld.cnf | awk '{print $3}')
if [ "x$datadir" = "x" ]; then
    datadir="/var/lib/mysql"
fi

需要在该基础上添加 --lower-case-table-names=1 参数。修改 /etc/init.d/mysql 为:

set -- /usr/bin/mysqld_safe
if test -x /usr/sbin/mysqld; then
    set -- /usr/sbin/mysqld
fi
datadir=$(grep ^datadir /etc/mysql/mysql.conf.d/mysqld.cnf | awk '{print $3}')
if [ "x$datadir" = "x" ]; then
    datadir="/var/lib/mysql"
fi
exec "$@" --lower-case-table-names=1

这里 --lower-case-table-names=1 参数表示表名大小写不敏感。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL表名不区分大小写的设置方法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • mysql优化之like和=性能详析

    下面是关于“mysql优化之like和=性能详析”的详细攻略。 1. 为什么要优化like和=查询 在MySQL中,like和=是常见的查询方式,但是在大数据量下,它们的查询速度可能会变得相对较慢,尤其是like查询,因为like查询需要做全表扫描,而=查询可以利用索引进行优化。因此,在使用like和=查询时,我们需要针对具体情况进行性能优化,以增加查询速度…

    database 2023年5月19日
    00
  • 一起因MySQL时间戳精度引发的血案分析

    一起因MySQL时间戳精度引发的血案分析 问题背景 在使用MySQL数据库时,可能会遇到时间戳精度问题。数据库默认使用的时间戳精度为秒(秒级精度),如果需要更高精度的时间戳,需要手动设置。 时间戳是数据库中非常常用的数据类型,包括了多种数据类型,如DATETIME,TIMESTAMP,DATE等等。其中,TIMESTAMP时间戳类型和UNIX时间戳有些类似,…

    database 2023年5月22日
    00
  • Redis 存储中文方式

    有时,特殊的一些业务需求,我们会为了方便的情况下,使用中文作为key,正常情况下 ,取数据不会有问题,但是难免会有的时候由于编码格式不一样,而导致取不到数据,这个时候,就需要我们对存储的key做一个特殊的处理。这里我选择使用base64编码处理这种情况。 <!– https://mvnrepository.com/artifact/commons-c…

    Redis 2023年4月11日
    00
  • MySQL执行事务的语法与流程详解

    MySQL 执行事务的语法与流程详解 什么是事务? 事务是指作为单一逻辑工作单元执行的操作集合,具有以下四个属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability)。 当进行一系列的操作时,要么全部执行成功,要么全部撤回,不能出现部分执行的情况。这就是 MySQL 所定义的事务的特性…

    database 2023年5月22日
    00
  • Redis批量删除key的命令详解

    下面是关于“Redis批量删除key的命令详解”的完整攻略。 1. Redis批量删除key的命令简介 在Redis中,删除key的操作不光可以单独执行,也可以执行批量删除。这在某些场景下非常有用,比如说,当我们需要删除一批相关的key时,就可以使用Redis批量删除key的命令来省去逐个删除的麻烦。 Redis中提供了多种方式来实现批量删除key的操作,下…

    database 2023年5月22日
    00
  • SQL Server模糊查询的常见方法总结

    (SQL Server模糊查询的常见方法总结)[### SQL Server模糊查询的常见方法总结] 在实际的SQL Server数据查询过程中,模糊查询是非常常见的需求。本文总结了SQL Server中常见的模糊查询方法,旨在帮助读者更高效地完成模糊查询操作。 1. LIKE 运算符 LIKE运算符是SQL Server中最常见的用于模糊查询的操作符之一,…

    database 2023年5月21日
    00
  • 详解MySQL逻辑运算符

    MySQL提供了多种逻辑运算符,用于对比和处理表达式结果的布尔值(True或False)。以下是主要的逻辑运算符及其使用方法: AND(与)运算符 AND运算符用来组合两个或更多的条件,只有当所有条件都为True时,AND运算符的结果才为True。其语法为: expr1 AND expr2 其中,expr1和expr2都是表达式。如果expr1和expr2都…

    MySQL 2023年3月9日
    00
  • mysql中json_remove函数的使用?

    需求描述:   今天看json记录,可以通过json_remove函数对一个key或多个key从个json记录中去掉. 操作过程: 1.查看一个已经存在的json表 mysql> select * from tab_json; +—-+———————————————————…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部