• 技术文章 >数据库 >mysql教程

    怎么解决mysql 1146错误问题

    藏色散人藏色散人2021-12-21 16:04:39原创1445

    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 start
    Redirecting to /bin/systemctl start  mysql.service
    Job 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=1
    Jan 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错误问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql 1146
    上一篇:如何解决mysql jdbc中文乱码问题 下一篇:mysql中的in用法是什么
    PHP编程就业班

    相关文章推荐

    • 一起聊聊MySQL数据库基本命令(总结分享)• 如何解决mysql 5.6 中文 乱码问题• 如何解决mysql 错误1053问题• 如何解决mysql jdbc中文乱码问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网