mysql数据库中的表不存在,可以查看的问题
来源:互联网 发布:属下知罪by枯目下 编辑:程序博客网 时间:2024/06/16 04:35
先说说起因吧,我在使用super-diamond的时候发现创建项目的时候不成功,到后台查看日志之后发现是Table 'edu_diamond.conf_user' doesn't exist
于是乎打开navcat发现表都是在的呀。这就很奇怪了,后来查询资料知道原来linux下默认的表名是区分大小的。
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'edu_diamond.conf_user' doesn't exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_76] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_76] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_76] at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_76] at com.mysql.jdbc.Util.handleNewInstance(Util.java:408) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.Util.getInstance(Util.java:383) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2840) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2082) ~[mysql-connector-java-5.1.31.jar:na] at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2212) ~[mysql-connector-java-5.1.31.jar:na] at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:2714) ~[druid-1.0.7.jar:1.0.7] at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:465) ~[druid-1.0.7.jar:1.0.7] at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:2711) ~[druid-1.0.7.jar:1.0.7] at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:132) ~[druid-1.0.7.jar:1.0.7] at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227) ~[druid-1.0.7.jar:1.0.7] at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:646) ~[spring-jdbc-3.2.12.RELEASE.jar:3.2.12.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.12.RELEASE.jar:3.2.12.RELEASE] ... 51 common frames omitted
1、查看问题
show VARIABLES LIKE '%case%'
lower_case_table_names是0说明是区分大小的
2、解决问题
找到mysql的配置文件/etc/my.cnf在[mysqld]下增加
lower_case_table_names=1service mysqld restartStopping mysqld: [ OK ]Starting mysqld: [ OK ]
再试试发现居然还是不行,还是报Table 'edu_diamond.conf_user' doesn't exist
3、解决问题
想了想反正没招了,那我把数据库删掉从新建总可以了吧,嘿,我还没想到现在删数据库都不让我删了Error dropping database (can't rmdir './edu_diamond', errno: 39)
好惆怅啊
还是去找老外,google了下,找到下面这篇文章
可以去看看这个MySQL: Error dropping database (errno 13; errno 17; errno 39)
还是老外靠谱呀,一个老外说到是mysql的bug,找到问题了就好办了
- 将
lower_case_table_names
改0重启mysql - 备份数据库edu_diamond
- 删除数据库edu_diamond
- 将
lower_case_table_names
改1重启mysql - 恢复数据库edu_diamond
- 完美解决
阅读全文
0 0
- mysql数据库中的表不存在,可以查看的问题
- mysql查看表存不存在
- 使用命令行查看mysql 数据库中的表
- 程序在linux服务器上报Mysql表不存在的问题
- 项目在总是报mysql表不存在的问题
- mysql 如果表、数据库不存在则创建
- MYSQL不存在就创建数据库/表
- MYSQL:查看的数据库表空间
- 查看MySQL数据库表的命令介绍
- mysql查看数据库表的数量命令
- mysql查看数据库和表的信息
- mysql查看数据库表的创建时间
- MYSQL-查看数据库或表的大小
- mysql查看表使用的数据库引擎
- 查看MYSQL的数据库表空间
- 查看MySQL数据库表的大小
- 关于mysql数据库操作日志查看的问题
- 通过命令行来查看mysql数据库中的表
- 问题 F: 小ho的01串
- [ Laravel 5.4 文档 ] 综合话题 —— 辅助函数
- JAVA中枚举类型enum综合详解
- 【SpringCloud】(十五):Zuul的基本应用,反向代理和负载均衡
- 网易2018校招编程题集合1
- mysql数据库中的表不存在,可以查看的问题
- AnyConnect卸载不完全,造成无法重新安装的解决办法 For Mac
- (并发)线程的处理
- linux中的数据库管理
- mysql数据类型
- python_静态属性,类方法,静态方法
- hdu 6112 基姆拉尔森计算公式
- C++中static_cast, dynamic_cast用法
- acm练习:喷水装置(一)