MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,今天一同事咨询mysql的问题,在mysql主库访问某个表报错, 但是备库上可以,感觉有点奇怪。即使不同步,也不能说主库不能访问啊。既然是主备,就从主备同步开始查。各种show master stat
千家信息网最后更新 2025年11月08日MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist今天一同事咨询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上,很可能会碰到这个错误。必须去掉大小写敏感。
也不能说主库不能访问啊。
既然是主备,就从主备同步开始查。各种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上,很可能会碰到这个错误。必须去掉大小写敏感。
大小
目录
同步
查询
参数
小写
文件
错误
问题
数据
混合
明显
半年
原因
同事
名都
地方
完了
就是
平台
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全运维工程师是什么
数据库 form json
表格两列对比找重复数据库
各类服务器配置参数
新浪邮箱的服务器
档案网络安全管理
有关SDE数据库的书籍
数据库设计基础概念模型
数据库设计问答题
sakila数据库演员表
软件开发实习生 双休
学习网络安全出路
山西服务器机柜厂家直销
上海电脑软件开发公司
共享生鲜柜软件开发公司
软件开发方向职业分析
网络技术和社会发展
收银系统软件开发功能
网络安全上升到国家安全
网络安全有关的名词
服务器中的文件夹
手机怎么删除微信同名数据库
青岛锐聘互联网科技可信吗
服务器主板amp接口
小米2s可以当私人服务器吗
传奇服务器可以容纳多少人
网络安全知识测试卷怎么进入
网络技术和社会发展
博兴机械软件开发公司
titan图数据库书