MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,今天一同事咨询mysql的问题,在mysql主库访问某个表报错, 但是备库上可以,感觉有点奇怪。即使不同步,也不能说主库不能访问啊。既然是主备,就从主备同步开始查。各种show master stat
千家信息网最后更新 2024年11月29日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安全错误
数据库的锁怎样保障安全
A 第五代移动通信网络技术
长宁区上门软件开发管理制度
天猫精灵的服务器
惠州数据链软件开发定做价格
资金盘网站服务器ip怎么查
网络安全中心管理规定
网络技术应用说课稿沪教版
网络安全自查自纠工作总结
微信软件开发者是谁
linux怎么看数据库实例
安徽有哪些银行在做数据库
软件开发c 是什么意思
数据库中什么是数据共享性
域服务器软件分发
微博系统数据库
高端管理服务器
开题报告软件开发行业成本核算
路由器中dhcp服务器
饥荒专属服务器搭建
服务器培训ppt
宁波云玺网络技术有限公司
服务器转速
nosql数据库实例
中小企业搭建混合云服务器
网络安全未成年人
数据库客户端编程
网络安全未来的就业方向
我的世界服务器咋登陆
架构师必备数据库
网络安全认证注意什么