Home >Database >Mysql Tutorial >How to solve mysql 1146 error problem
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.
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!