linux下解决mysql区分大小写问题怎么解决?

发布时间:2021-01-22编辑:脚本学堂
本文介绍了linux下mysql区分大小写的解决方法,添加lower_case_table_names=1,表示mysql不区分大小写,这段代码必须在[mysqld_safe]之前。

mysqllinux下采用 rpm方式安装后默认是:数据库名与表名表的别名变量名是严格区分大小写
修改大小写的方法:
1,用root帐号登录,在/etc/my.cnf 或 /etc/myql/my.cnf中的[mysqld]后添加lower_case_table_names=1
操作命令: vi /etc/my.cnf
 

复制代码 代码示例:
[root@localhost ~]# vi /etc/my.cnf 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
# Default to using old password format for compatibility with mysql 3.x 
# clients (those using the mysqlclient10 compatibility package). 
old_passwords=1 
lower_case_table_names=1 
# Disabling symbolic-links is recommended to prevent assorted security risks; 
# to do so, uncomment this line: 
# symbolic-links=0 
 
[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid

备注:添加lower_case_table_names=1,表示mysql不区分大小写,这段代码必须在[mysqld_safe]之前。
 
2,重启MySQL服务
操作命令:
 

复制代码 代码示例:
/etc/init.d/mysql restart
或者
service mysqld restart

3,设置成功,则不再区分表名的大小写。
注意: 
如果在/etc或/etc/mysql找不到my.cnf的话,需要从/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf,然后放到/etc/下面去。
操作命令:
 

复制代码 代码示例:
cp /usr/share/mysql/my-*.cnf /etc/my.cnf

mysql有四个my-*.cnf文件:
 

my-small.cnf是为了小型数据库而设计的。
my-medium.cnf是为中等规模的数据库而设计的。
my-large.cnf是为专用于一个sql数据库计算机而设计的。
my-huge.cnf是为企业中的数据库而设计的。

备注:
MySQL在Windows下不区分大小写,如果在my.ini中mysqld部分加入lower_case_table_names=0的话,则导入导出时会对大小写有区别。