您好,欢迎访问一九零五行业门户网

怎么解决mysql 1146错误问题

mysql 1146错误的解决办法:1、拷贝原来mysql安装目录data里的ibdata1;2、检查ibdata文件所属的用户和用户组是否正确;3、使用“repair table tablename”修复表即可。
本文操作环境:windows7系统、mysql5.7版、dell g3电脑。
怎么解决mysql 1146错误问题?
mysql 提示表不存在的解决方法error: 1146: table doesn‘t exist
直接拷贝数据库导致提示表不存在的解决方法
电脑重装系统后把原来的mysql data复制进去后大部分表是可以访问的,但是有几个表提示表不存在:
error: 1146: table 'your_table' doesn't exist
这种情况就是要把原来mysql安装目录data里的 ibdata1 也要拷贝过去
innodb是mysql数据库一种流行的数据库引擎,支持事务(行级),在企业级应用上成为可能。
ibdata用来储存文件的数据,而库名的文件夹里面的那些表文件只是结构而已,由于新版的mysql默认试innodb,所以ibdata1文件默认就存在了,少了这个文件有的数据表就会出错。
如果替换ibdata文件后发现启动报错
[root@localhost data]# service mysql startredirecting to /bin/systemctl start  mysql.servicejob for mysqld.service failed because the control process exited with error code. see systemctl status mysqld.service and journalctl -xe for details.
[root@localhost data]# systemctl status mysqld.service● mysqld.service - lsb: start and stop mysql   loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)   active: failed (result: exit-code) since tue 2019-01-08 18:12:43 cst; 8s ago     docs: man:systemd-sysv-generator(8)  process: 11815 execstop=/etc/rc.d/init.d/mysqld stop (code=exited, status=0/success)  process: 13300 execstart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/failure)jan 08 18:12:40 localhost.localdomain systemd[1]: starting lsb: start and stop mysql...jan 08 18:12:43 localhost.localdomain mysqld[13300]: starting mysql... error! the server quit without updating pid file (/www/server/data/localhost.localdomain.pid).jan 08 18:12:43 localhost.localdomain systemd[1]: mysqld.service: control process exited, code=exited status=1jan 08 18:12:43 localhost.localdomain systemd[1]: failed to start lsb: start and stop mysql.jan 08 18:12:43 localhost.localdomain systemd[1]: unit mysqld.service entered failed state.jan 08 18:12:43 localhost.localdomain systemd[1]: mysqld.service failed.
这时候先检查一下你的ibdata文件所属的用户和用户组是否正确,有可能是权限问题导致。
如果是数据表损坏请尝试修复表
repair table tablename
推荐学习:《mysql视频教程》
以上就是怎么解决mysql 1146错误问题的详细内容。
其它类似信息

推荐信息