MySQL巨细写不敏感配置 lower_case_table_names = 1
linux my.cnf中配置lower_case_table_names = 1
在 MySQL 中,默认情况下表名是区分巨细写的。不过,可以通过配置 MySQL 的服务器选项来改变这一行为,使表名巨细写不敏感。
修改 MySQL 配置文件
要让 MySQL 表名巨细写不敏感,您必要修改 MySQL 的配置文件 my.cnf 或 my.ini(取决于操纵体系)。这些配置文件通常位于以下路径之一:
[*]Linux: /etc/mysql/my.cnf 或 /etc/my.cnf
[*]Windows: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
您必要编辑 部分,添加或修改以下配置项:
[*]lower_case_table_names:设置此选项为 1 可以使表名在 Windows 上巨细写不敏感;设置为 2 可以使表名在 Linux 上巨细写不敏感。
示例配置
打开 my.cnf 或 my.ini 文件,并添加或修改以下内容:
lower_case_table_names=1# Windows 上使表名大小写不敏感
# lower_case_table_names=2# Linux 上使表名大小写不敏感
各平台的具体设置
[*]Windows:设置 lower_case_table_names 为 1。
[*]Linux:设置 lower_case_table_names 为 2。
注意事项
[*]重启 MySQL 服务器:修改配置文件后,必要重启 MySQL 服务器以使更改收效。
[*]现有表名:如果现有表名已经创建,更改此设置后,表名仍然会保留原来的巨细写。新的表名将遵照新的巨细写规则。
重启 MySQL 服务器
在修改配置文件后,您必要重启 MySQL 服务器。具体步骤取决于您的操纵体系:
Linux
[*]利用 systemctl 重启 MySQL 服务:sudo systemctl restart mysqld
Windows
[*]打开“服务”管理工具。
[*]找到 MySQL 服务并右击,选择“重启”。
验证设置
您可以利用以下 SQL 查询来验证 lower_case_table_names 的设置是否收效:
SHOW VARIABLES LIKE 'lower_case_table_names';
输出应该是:
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| lower_case_table_names| 1 |-- 或者 2
+-------------------------+-------+
创建和利用表
一旦配置收效,您可以创建表并测试巨细写不敏感的功能:
创建表
CREATE TABLE TestTable (
id INT PRIMARY KEY
);
巨细写不敏感的测试
实验利用差别的巨细写来访问表:
SELECT * FROM testtable;-- 应该能够正常工作
SELECT * FROM TESTTABLE;-- 应该能够正常工作
SELECT * FROM TestTable;-- 应该能够正常工作
注意事项
[*]跨平台同等性:如果您必要在多个平台上保持表名的同等性,确保在所有平台上设置雷同的 lower_case_table_names 值。
[*]现有数据库:更改此设置后,现有数据库中的表名仍然保持原来的巨细写。新的表名将遵照新的巨细写规则。
[*]安全性:在某些情况下,表名区分巨细写有助于防止潜在的安全题目。比方,在利用动态 SQL 时,恶意用户可能会利用巨细写差别来执行意外的操纵。因此,在设置 lower_case_table_names 时要谨慎。
links:
https://www.cnblogs.com/mysqljs/p/14857790.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]