库名表名大小写问题与sqlserver兼容的启动配置方法

 更新时间:2010年12月17日 21:38:15   作者:  
库名表名大小写问题与sqlserver兼容的启动配置方法,需要的朋友可以参考下。
将全局变量 lower_case_table_names 设置为1

实验:
1.lower_case_tables_name=0的情况(Linux默认)
直接启动mysql,在mytest库中新建表MyTable和mytable
mysql> use mytest;
mysql> create table MyTable(id int not null,name varchar(10),dt date);
mysql> create table mytable(id int not null,name varchar(10),dt date);
mysql> show tables;
+------------------+
| Tables_in_mytest |
+------------------+
| MyTable |
| mytable |
+------------------+
默认情况下,可以同时创建mytable和MyTable两个表

2.lower_case_tables_name=1的情况(我们需要设置成这种情况)
进入到etc目录,编辑my.cnf文件
[root@MYSQLServer etc]# vi my.cnf
找到 [mysqld]
在它的全局变量的最后面加入一行:lower_case_table_names = 1
保存,退出,然后重新启动mysql
[root@MYSQLServer etc]# service mysqld restart;
进入到mysql
[root@MYSQLServer mysql]# bin/mysql
mysql> use mytest;
mysql> select * from MyTable;
mysql> select * from mytable;
两个查询的结果一样,都是查询mytable表,而MyTable表已经找不到了(可以看到,但查询不到)
我们再试着创建MyTable表
mysql> create table MyTable(id int not null,name varchar(10),dt date);
ERROR 1050 (42S01): Table 'mytable' already exists
将得到表已经存在的提示

同样,我们可以试着创建MyTest库
mysql> create database MyTest;
ERROR 1007 (HY000): Can't create database 'mytest'; database exists
也会得到库已经存在的提示

在这种情况下,表名和库名都不区分大小写了。

注意:在Unix中将lower_case_tables_name设置为1之前,重启mysqld之前, 必须先将旧的数据库名和表名转换为小写,否则设置后,将找不到以前的表。
(上面的实验中,MyTable表在lower_case_tables_name=1时已经找不到了)

相关文章

  • 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

    当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

    这篇文章主要介绍了当mysql服务器为mysql5.6时,mysqlbinlog版本不对可能导致出哪些问题,下面通过模拟2种场景分析此类问题,需要的朋友可以参考下
    2015-07-07
  • Mysql InnoDB 的内存结构详情

    Mysql InnoDB 的内存结构详情

    这篇文章主要介绍了Mysql InnoDB的内存结构详情,InnoDB存储引擎的逻辑存储结构是什么呢,下面我们就一起进入文章了解更多详细内容吧,感兴趣的小伙伴可以参考一下
    2022-05-05
  • SELinux导致PHP连接MySQL异常Can''t connect to MySQL server的解决方法

    SELinux导致PHP连接MySQL异常Can''t connect to MySQL server的解决方法

    这篇文章主要介绍了SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法,有2种,一是设置允许,二是关闭SELinux,需要的朋友可以参考下
    2014-07-07
  • gorm操作MySql数据库的方法

    gorm操作MySql数据库的方法

    这篇文章主要介绍了gorm操作MySql数据库的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • mysql 5.7更改数据库的数据存储位置的解决方法

    mysql 5.7更改数据库的数据存储位置的解决方法

    随着MySQL数据库存储的数据逐渐变大,已经将原来的存储数据的空间占满了,导致mysql已经链接不上了。所以要给存放的数据换个地方,下面小编给大家分享mysql 5.7更改数据库的数据存储位置的解决方法,一起看看吧
    2017-04-04
  • mysql 5.7.17 winx64安装配置图文教程

    mysql 5.7.17 winx64安装配置图文教程

    这篇文章主要为大家分享了mysql 5.7.17 winx64安装配置方法图文教程,感兴趣的朋友可以参考一下
    2017-01-01
  • mysql 5.7.21 解压版安装配置方法图文教程

    mysql 5.7.21 解压版安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 5.7.21 解压版安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • MySQL双主(主主)架构配置方案

    MySQL双主(主主)架构配置方案

    这篇文章主要介绍了MySQL双主(主主)架构配置方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • mysql tmp_table_size优化之设置多大合适

    mysql tmp_table_size优化之设置多大合适

    这篇文章主要介绍了mysql tmp_table_size优化问题,很多朋友都会问tmp_table_size设置多大合适,其实既然你都搜索到这篇文章了,一般大于64M比较好,当然你也可以可以根据自己的机器内容配置增加,一般64位的系统能充分利用大内存
    2016-05-05
  • 解决hibernate+mysql写入数据库乱码

    解决hibernate+mysql写入数据库乱码

    初次没习hibernate,其中遇到问题在网上找的答案与大家共同分享!
    2009-07-07

最新评论