
# 源库参数lower_case_table_names=1时，为什么不允许迁移包含大写字母的库或者表
#### 场景描述
当源库参数lower_case_table_names=1时，无法迁移包含大写字母的库或者表。
#### 问题分析
当源库的lower_case_table_names 参数值为1时，MySQL会将库名或者表名转换成小写再进行查找。若存在以大写字母形式创建的库或者表，那么在lower_case_table_names参数值为1的情况下，MySQL将无法找到这个库或表，报告查询失败。也就是说，若lower_case_table_names的参数值为1时，大写字母的库或表很可能是不可访问的。
#### 解决方案
目前针对该情况，分别提供如下解决方案：
#### 方法一
修改源库lower_case_table_names的参数值为0 (即大小写敏感)，并且保证源库与目标库的该参数值一致。
#### 方法二
若无法永久修改lower_case_table_names，可临时将源库lower_case_table_names修改为0，然后执行如下操作。
- 对于表，可以使用如下语句将表名转换为小写：
  ```
  alter table `BigTab` rename to `bigtab`
  ```
  
- 对于库，则需要导出后，修改库名为小写，再进行导入。
![](https://support.huaweicloud.com/drs_faq/public_sys-resources/caution_3.0-zh-cn.png)
修改库名或表名之后，需要维护权限的一致性，以免影响应用访问。
#### 方法三
对象选择时不迁移该库或者该表。
