您的位置:首页 > 运维架构 > Linux

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

2016-09-07 17:25 573 查看
文章摘抄至 http://hi.baidu.com/liyx123106/item/6be290cf6764f876bcef691a

 

MySQL在Linux下采用 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的话,则导入导出时会对大小写有区别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: