在linux安装的mysql,一般都是默认区分大小写的,在windows 下不区分。
所在很多时候同样的一个数据库,在windows下有用,而在linux下从windows上迁移过来的同样数据库,
运行程序后却出现某张表不存在的现象,可那不存在的表确是存在的。
如图:
解决方法:
编辑mysql配置文件:sudo vi /etc/my.cnf
添加:lower_case_table_names=1 ,其中0表示默认为区分大小写,1表示不区分大小写。
打开my.cnf文件后,找到mysqld,在后面添上lower_case_table_names=1这句话。
如下所示:
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#在此处添上下面这句话,前面不留空格
lower_case_table_names=1
完成此步骤后,重启mysql 便能生效。