Home  >  Article  >  Database  >  How to solve mysql 1146 error problem

How to solve mysql 1146 error problem

藏色散人
藏色散人Original
2021-12-21 16:04:3926808browse

Mysql 1146 error solution: 1. Copy ibdata1 in the original mysql installation directory data; 2. Check whether the user and user group to which the ibdata file belongs is correct; 3. Use "repair table tablename" to repair the table. Can.

How to solve mysql 1146 error problem

The operating environment of this article: Windows 7 system, Mysql version 5.7, Dell G3 computer.

How to solve the mysql 1146 error problem?

Mysql prompt table does not exist solutionerror: 1146: Table doesn't exist

Solution to the problem that the prompt table does not exist due to direct copying of the database

Reset the computer After installing the system and copying the original mysql data, most of the tables can be accessed, but a few tables indicate that the tables do not exist:

error: 1146: Table 'your_table' doesn't exist

In this case, the original mysql installation directory data The ibdata1 in should also be copied.
INNODB is a popular database engine for MYSQL database. It supports transactions (row level) and is possible in enterprise-level applications.
ibdata is used to store file data, and the table files in the folder with the library name are just structures. Since the new version of mysql tries innodb by default, the ibdata1 file exists by default, and the data tables in this file are missing. Something will go wrong.

If you find a startup error after replacing the ibdata file

[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.

At this time, first check whether the user and user group to which your ibdata file belongs is correct. It may be a permissions issue. lead to.

If the data table is damaged, please try to repair the table

repair table tablename

Recommended study: "mysql video tutorial"

The above is the detailed content of How to solve mysql 1146 error problem. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn