window下的MySQL是忽略大小写的而在Linux下MySQL默认是区分大小写,在Linux下建表时候如果表名使用大写,查询时候使用小写查询会提示表不存在。

解决办法


mysql是通过lower_case_table_names变量来处理大小写问题的。 
首先查询该变量

登录MySQL

show variables like '%case%';

结果如下:



lower_case_table_name变量是只读变量所以mysql启动之后是无法进行更改的,只能去my.conf中修改变量值,首先找到MySQL的配置文件,MySQL配置文件使用ini文件格式,找到[mysqld]部分添加配置,如果写错位置会导致MySQL无法启动或者启动成功但是忽略该配置。

一定要用root,一定要用root、一定要用root,

 

vim /etc/mysql/my.cnf

#Ubuntu下配置文件是/etc/mysql/mysql.conf.d/mysqld.cnf
#CentOS下配置文件是/etc/my.cnf
#在[mysqld]下添加配置

[mysqld]
lower_case_table_name=1

重启MySQL使配置生效

#ubuntu
systemctl restart mysql.service

#centos
systemctl restart mysqld

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐