mysql修改大小写参数注意事项
发布时间:2022-03-24 11:42:22 所属栏目:MySql教程 来源:互联网
导读:原由:数据库中原本参数lower_case_table_names的值为0,应开发要求需要修改为不区分大小写,即修改为1。但是修改完之后,发现本来建立的大写字母的表查不到。 修改过程 1,在参数文件中修改lower_case_table_names=1 2,重启mysql服务 问题:发现修改完之
原由:数据库中原本参数lower_case_table_names的值为0,应开发要求需要修改为不区分大小写,即修改为1。但是修改完之后,发现本来建立的大写字母的表查不到。 修改过程 1,在参数文件中修改lower_case_table_names=1 2,重启mysql服务 问题:发现修改完之后,本来数据库中有的大写字母的表查不到了 测试: 1,首先设置库为区分大小写 mysql> show variables like 'lower_case_table_names'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_table_names | 0 | +------------------------+-------+ 1 row in set (0.00 sec) 2,创建2张有大写字母的表 mysql> create table Tt(id int); Query OK, 0 rows affected (0.10 sec) mysql> create table tT(id int); Query OK, 0 rows affected (0.03 sec) mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | Tt | | tT | +----------------+ 2 rows in set (0.00 sec) 3,修改参数 /etc/my.cnf 中设置 lower_case_table_names = 1 重启数据库 查看此时参数的值 mysql> show variables like 'lower_case_table_names'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_table_names | 1 | +------------------------+-------+ 1 row in set (0.00 sec) 4,查看数据库 mysql> select * From tT; ERROR 1146 (42S02): Table 'test.tt' doesn't exist mysql> select * From Tt ; ERROR 1146 (42S02): Table 'test.tt' doesn't exist 问题是: 发现当修改lower_case_table_names = 1后,之前创建的表名都不识别了。 结论: 1、不能随意修改数据库的大小写,否则大写表名会认不出来。 2、lower_case_table_names参数的修改是非动态的,必须重启数据库。 如何修改大小写格式: 如果原来所建立的数据库都是大小写敏感的,想要转换为对大小写不敏感,主要需要进行以下三步。 1,将数据库数据通过mysqldump导出 2,在my.cnf文件中更改lower_case_table_names =1,并重启mysql数据库。 3,将导出的数据导入mysql数据库中。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读