iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist
  • 200
分享到

MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist

2024-04-02 19:04:59 200人浏览 安东尼
摘要

    今天一同事咨询Mysql的问题,在mysql主库访问某个表报错, 但是备库上可以,感觉有点奇怪。即使不同步, 也不能说主库不能访问啊。     既然是主备,

    今天一同事咨询Mysql的问题,在mysql主库访问某个表报错, 但是备库上可以,感觉有点奇怪。即使不同步,
也不能说主库不能访问啊。

    既然是主备,就从主备同步开始查。各种show master status\G, show binary logs , 在备库上show slave status\G,
在备库上看到: 
Salve_io_Runing : NO
Salve_sql_Runing : YES
显然已经不同步了,看到Relay_Master_Log_File是 mysql-bin.000064, 但是在主库上show binary logs查看的是:67,68,69,
已没有了 64,65,66 。

在备库上也看到了Last_IO_Error的报错很明显,1236严重错误,Could not find first log file name in binary log index file.

    不同步确认了,那么为啥主库的表也不能访问呢。权限确认了,没有问题。遇到的最多的应该就是大小写问题了,这个也是mysql
做的比较差的地方。 在主库查询全部是小写的表,没有报错,查询大小写混合的表,都报错,提示一样 : 

ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist 

    查询my.cnf下的lower_case_table_names参数,发现果然,参数是1,默认是0来的,查看my.cnf文件修改日期,是2天前,而备
库上的my.cnf是半年前的。大致找到原因后,如何进行解决呢 ? 改回来 ? 

    改回来(改为0)其实应该是OK的。待验证。其实在linux/Unix下会碰到这种错误,在windows下不会。 为什么呢。因为MySQL中
数据库相当于数据目录下的目录,表相当于目录下的文件,而Linux/Unix系统是区分大小写的(windows不区分),创建了大小写混合
的库或表后,我们在修改参数lower_case_table_names=1 ,这时MySQL将所有SQL中的表名都翻译为了小写(为了大小写不敏感),
但是Linux下没有全部是小写的这个文件或目录(表或库)。 就出现了找不到的情况。 

    如果你是windows平台下开发的,完了之后放到Linux上,很可能会碰到这个错误。必须去掉大小写敏感。  
 
您可能感兴趣的文档:

--结束END--

本文标题: MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist

本文链接: https://www.lsjlt.com/news/48707.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作