linux上的mysql报Table 'xxx' doesn't exist的错误解决方法

linux上的mysql报Table ‘xxx‘ doesn‘t exist的错误解决方法

问题:程序报Table ‘xxx‘ doesn‘t exist 的错误,但是查看数据库发现该表已经存在且字母也没有拼错。

原因:linux 上的mysql 默认是区分大小写导致的。

解决:改动mysql的配置文件,在my.cnf中的[mysqld]下面(位置不能错)加上lower_case_table_name=1这句(1表示不区分大小写,0区分大小写),保存重新启动mysql。

没有my.cnf文件,如果是默认安装执行以下列操作

[[email protected] mysql]# cp /usr/share/mysql/my-huge.cnf  /etc/my.cnf

再my.cnf加入配置信息

linux上的mysql报Table 'xxx' doesn't exist的错误解决方法

时间: 2024-10-03 21:41:33

linux上的mysql报Table 'xxx' doesn't exist的错误解决方法的相关文章

Linux环境下MySQL报Table 'xxx' doesn't exist错误解决方法

修改了lower_case_table_names=1 后,业务发有个库的表打不开了,看了表名以前是大写,查了一下如果设置不区分大小写, 以前的大小表名要改成小写.重启服务后可用! MYSQL在LINUX下数据库名.表名.列名.别名大小写规则如下: 1.数据库名与表名是严格区分大小写的 2.表的别名是严格区分大小写的 3.列名与列的别名在所有的情况下均是忽略大小写的 4.变量名也是严格区分大小写的 Linux环境下MySQL报Table 'xxx' doesn't exist错误解决方法

mysql 报Row size too large 65535 原因与解决方法

报错信息:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535 向mysql的表插件一个字段 类型为text时,或修改一个字段类型为text时,报出上面的错误.其实我对这个错误的原因理解也不是很深,给出一些我查到的解释吧 大意是数据表中有一个设定长度为64K的字段索引,当表中字段(不知道是字段名字还是什么)不能超过这个长度,65,535所说明的是针对的是整个表的

mysql中You can’t specify target table for update in FROM clause错误解决方法

mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中). 例如下面这个sql: 1 delete from tbl where id in 2 ( 3 select max(id) from tbl a where EXISTS 4 ( 5 select 1 from tbl b where a.tac=b.tac group by ta

MySQL出现too many connections(1040)错误解决方法

phpMyAdmin 是一个用PHP编写的,可以通过互联网控制和操作MySQL.通过phpMyAdmin可以完全对数据库进行操作,例如建立.复制/删除数据等等. 有了phpMyAdmin 就可以完全不使用mysql命令,直接使用phpMyAdmin就能管理mysql的所有数据和数据库. 这次主要说的访问phpmyadmin 出现空白页面,应该如何解决?首先要分析的原因,这边有三种,是经常会遇到的.如果是因为您动了里面代码参数导致打不开,就要另外想办法了. 一:PHPmyAdmin目录及上层目录的

Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法

这两天在进行网站搬家,这次网站搬家采用直接打包mysql数据库和网页文件的形式进行迁移,上传好mysql data目录里面的网站数据库至VPS上mysql存放数据库的目录里面,解压就行.我的VPS存放数据库的路径是 /usr/local/mysql/var. 上传好网站数据,解压,配置好数据库链接参数就行,网站就能正常连接上了,我本以为这已 经是顺利迁移完成了,但后来操作的时候,发现只能读取数据库的内容,不能更改写入任何信息,提示#1036 – Table ‘* ‘ is read only (

MySQL 拷贝数据库表方式备份,还原后提示 table xxx '' doesn`t exist

MySQL很强大,支持直接拷贝数据库文件快速备份,那数据库文件在哪里呢? 打开MySQL的配置文件 my.ini,找到 datadir 节点,如 datadir="D:/Program Files/MySQL/MySQL Server 5.1/data" 进入上述文件夹,就可以看到MySQL中新建的数据库文件夹了,每个文件夹以数据库名命名的,你想备份哪个数据库,把这个文件夹拷贝走即可.到时还原数据库,把它拷贝到data目录下即可,就这么简单! 但是,今天在一台MySQL服务器上拷贝备份

Mysql 出现Table‘xxx’is read only问题

Mysql 出现Table‘xxx’is read only问题 解决方案 方法/步骤 Mysql数据库在由Mssql数据库导入数据文件后出现“ERROR 1036 (HY000): Table 'xxxx' is read only”的错误提示,解决方案如下:   在Linux命令行下输入下面命令: mysqladmin -p flush-tables 回车后输入Mysql的root密码,命令即可执行完成. 3 chown mysql:mysql *.* #更改数据库相关文件的文件所有者和用户

Windows和Linux上 安装MySQL

Windows 上安装 MySQL https://www.mysql.com/downloads/ 1.下载MySQL安装包(官网下载链接): 选择 DOWNLOADS ——> Community(社区版,免费) ——> MySQL on Windows ——> MySQL Installer ——> 选择相应安装包——> 不用注册.登录,直接点击左下方:No thanks,just start my download,即可下载. (不用考虑操作系统位数,因为:Note:

MYSQL导入数据:Table XXX doesn't exist的解决

数据表为Innodb引擎 data文件夹中存在数据表的frm文件,但在phpmyadmin中看不到这些表,于是采用导入sql文件的方式进行恢复 1.直接导入原数据表的sql文件,原frm文件不删除 出错:#1146 - Table 'eticket.et_admin' doesn't exist 2.删除原frm文件,刷新phpmyadmin,再导入该数据表的sql文件 出错:#1146 - Table 'eticket.et_admin' doesn't exist 3.删除原frm文件,重启