`
181054867
  • 浏览: 148173 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Mysql Can't find file: './mysql/host.frm' (errno: 13) 的解决方法

阅读更多

安装mysql后,使用mysqld_safe启动,错误如下:

[ROOT mysql]$ mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld
InnoDB: Log scan progressed past the checkpoint lsn 0 36808
100313 10:15:09  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 43655
100313 10:15:09  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
100313 10:15:09  InnoDB: Started; log sequence number 0 43655
100313 10:15:09 [ERROR] mysqld: Can't create/write to file '/var/run/mysqld' (Errcode: 21)
100313 10:15:09 [ERROR] Can't start server: can't create PID file: Is a directory
[ROOT mysql]$ mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid
InnoDB: Log scan progressed past the checkpoint lsn 0 36808
100313 10:16:23  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 43655
100313 10:16:23  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
100313 10:16:23  InnoDB: Started; log sequence number 0 43655
100313 10:16:23 [ERROR] mysqld: Can't find file: './mysql/host.frm' (errno: 13)
100313 10:16:23 [ERROR] mysqld: Can't find file: './mysql/host.frm' (errno: 13)
100313 10:16:23 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)

 

呵呵,可能是我太笨了,找了很多论坛,都是说都权限问题,但没找到解决方法,最后在find -iname '*host.frm*'里知道host.frm是在mysql的系统表里,进行系统表查看权限:

[ROOT mysql]$ ll
total 780
-rwxrwx--- 1 root root   8820 2010-03-13 09:20 columns_priv.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 columns_priv.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 columns_priv.MYI
-rwxrwx--- 1 root root   9494 2010-03-13 09:20 db.frm
-rwxrwx--- 1 root root    876 2010-03-13 09:20 db.MYD
-rwxrwx--- 1 root root   4096 2010-03-13 09:20 db.MYI
-rwxrwx--- 1 root root   8665 2010-03-13 09:20 func.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 func.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 func.MYI
-rwxrwx--- 1 root root   8700 2010-03-13 09:20 help_category.frm
-rwxrwx--- 1 root root  20916 2010-03-13 09:20 help_category.MYD
-rwxrwx--- 1 root root   3072 2010-03-13 09:20 help_category.MYI
-rwxrwx--- 1 root root   8612 2010-03-13 09:20 help_keyword.frm
-rwxrwx--- 1 root root  78997 2010-03-13 09:20 help_keyword.MYD
-rwxrwx--- 1 root root  14336 2010-03-13 09:20 help_keyword.MYI
-rwxrwx--- 1 root root   8630 2010-03-13 09:20 help_relation.frm
-rwxrwx--- 1 root root   7425 2010-03-13 09:20 help_relation.MYD
-rwxrwx--- 1 root root  16384 2010-03-13 09:20 help_relation.MYI
-rwxrwx--- 1 root root   8770 2010-03-13 09:20 help_topic.frm
-rwxrwx--- 1 root root 347064 2010-03-13 09:20 help_topic.MYD
-rwxrwx--- 1 root root  17408 2010-03-13 09:20 help_topic.MYI
-rwxrwx--- 1 root root   9416 2010-03-13 09:20 host.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 host.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 host.MYI
-rwxrwx--- 1 root root   9691 2010-03-13 09:20 proc.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 proc.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 proc.MYI
-rwxrwx--- 1 root root   8875 2010-03-13 09:20 procs_priv.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 procs_priv.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 procs_priv.MYI
-rwxrwx--- 1 root root   8947 2010-03-13 09:20 tables_priv.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 tables_priv.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 tables_priv.MYI
-rwxrwx--- 1 root root   8636 2010-03-13 09:20 time_zone.frm
-rwxrwx--- 1 root root   8624 2010-03-13 09:20 time_zone_leap_second.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 time_zone_leap_second.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 time_zone_leap_second.MYI
-rwxrwx--- 1 root root      0 2010-03-13 09:20 time_zone.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 time_zone.MYI
-rwxrwx--- 1 root root   8606 2010-03-13 09:20 time_zone_name.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 time_zone_name.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 time_zone_name.MYI
-rwxrwx--- 1 root root   8686 2010-03-13 09:20 time_zone_transition.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 time_zone_transition.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 time_zone_transition.MYI
-rwxrwx--- 1 root root   8748 2010-03-13 09:20 time_zone_transition_type.frm
-rwxrwx--- 1 root root      0 2010-03-13 09:20 time_zone_transition_type.MYD
-rwxrwx--- 1 root root   1024 2010-03-13 09:20 time_zone_transition_type.MYI
-rwxrwx--- 1 root root  10330 2010-03-13 09:20 user.frm
-rwxrwx--- 1 root root    224 2010-03-13 09:20 user.MYD
-rwxrwx--- 1 root root   2048 2010-03-13 09:20 user.MYI

 

晕,原来真是权限问题:

[ROOT mysql]$ chown mysql *

[ROOT mysql]$ chgrp mysql *

[ROOT mysql]$ chmod ug+rwx *

 

再重启mysql即可

分享到:
评论
3 楼 763863446 2017-05-12  
非常感谢博主,整好解决了问题!!! 
2 楼 java_doom 2013-09-09  
不错 太赞了 我也遇到同样的问题 看到你这篇才解决
1 楼 thebye85 2010-11-03  
原来如此,刚才遇到这个问题。谢谢

相关推荐

    MySQL中报错:Can’t find file: ‘./mysql/plugin.frm’的解决方法

    在MySQL数据库操作中,有时会遇到“Can't find file: './mysql/plugin.frm'”这样的错误,这通常意味着系统无法找到或访问特定的数据库表文件。这个错误可能由多种原因引起,包括但不限于文件权限问题、数据目录迁移...

    解决mysql ERROR 1017:Can't find file: '/xxx.frm' 错误

    在MySQL数据库系统中,`ERROR 1017: Can't find file: '/xxx.frm'` 是一个常见的错误提示,通常与数据文件的丢失或权限问题有关。当遇到这样的错误时,数据库无法正常访问存储表结构的`.frm`文件,从而导致服务中断...

    解决mysql ERROR 1017:Can’t find file: ‘/xxx.frm’ 错误

    在使用MySQL数据库的过程中,有时会遇到“ERROR 1017: Can’t find file: ‘/xxx.frm’”这样的错误。这个问题并不意味着文件`/xxx.frm`实际丢失,而是由于文件的权限设置不正确导致的。在描述中提到,文件的所有者...

    MYSQL权限不够解决办法

    ### MySQL权限不够解决办法 在使用MySQL数据库的过程中,可能会遇到“权限不足”的错误提示,这通常是因为当前用户没有足够的权限来执行某些操作(如创建表、删除数据等)。本文将详细介绍如何解决MySQL权限不足的...

    MySQl 通过.frm 和 .ibd文件恢复数据.pdf

    mysqlfrm --diagnostic ./ > createtb.sql ``` 或者,生成单个表的结构: ```bash mysqlfrm --diagnostic sms_deduction_log_20191201.frm > sms_deduction_log.sql ``` ### 步骤 6:执行解除表空间绑定命令 ...

    MYSQL迁移或者升级的故障解决大全

    * 错误日志显示Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/user.frm'(errno: 13),表明安全权限的问题。 二、环境故障解决 运行目录不存在和权限不匹配是常见的故障解决方法...

    _storage_emulated_0_android_data_com.tencent.mm_MicroMsg_Download_FRM.Support0423_2510(Frame.2023).zip

    "FRM.Support0423_2510(Frame.2023)"可能是文件的具体名称,其中"FRM"可能指的是"Frame"或"形式",而"Support0423_2510"可能是一个版本号或者日期标识,"0423"可能是4月23日的日期,"2510"可能是时间戳或者其他特定...

    ahe.rar_can上位机_http://www.ahedu._对话框与窗口

    在给定的“ahe.rar”压缩包中,我们看到一系列与CAN总线通信和上位机用户界面设计相关的文件。这些文件主要涉及到以下几个关键知识点: 1. **CAN总线**:控制器局域网络(Controller Area Network,简称CAN)是一种...

    mysql frm转sql

    MySqlFrm.exe是c#版本的frm转sql工具,需要.net 4.0与mysql环境,CMD命令行如下: mysqlfrm <username> <password> <port> 例如: mysqlfrm root pass 3306 c:\dbcopy 会将c:\dbcopy目录下所有的frm转换为...

    mysql报错1033 Incorrect information in file: ‘xxx.frm’问题的解决方法

    解决过程 0.各种度娘,谷哥,无果。 1.原站数据库版本5.0,新家数据库版本4.2,猜测版本不对,重装环境。无效。 2.客户提供的备份是mysql/data下的源数据,因为叶雨备份时没这样做过。只导出过sql。初步认为是备份...

    整蛊专家源码

    5. **frmMain.frm, frmMenu.frm, frmMSG.frm**:这些都是VB中的窗体文件,`.frm`扩展名表示窗体的设计和属性。`frmMain`可能是主窗体,`frmMenu`可能是程序的菜单界面,而`frmMSG`可能用于显示整蛊相关的消息。 从...

    颜色转换器(RGB Color 与 Hex Color互转)

    2023-03-13 02:37 2,222 frmAbout.frm 2023-03-13 02:37 187,055 frmAbout.frx 2023-03-28 12:10 14,805 frmColorConv.frm 2023-03-28 12:42 225,280 kmColorConv.exe 2023-03-28 09:18 639 kmColorConv.vbp 2023-03...

    通过.frm文件对表结构的恢复工具utilities(linux版本)

    参考使用方法:https://www.cnblogs.com/chinaops/p/9689616.html 整个恢复过程其实可以总结为下面几步: (1):恢复表结构 (2):复制出来创建表的sql语句 (3):恢复表数据(在恢复表数据的时候,首先需要解除当前...

    mysql5.0版本下载地址集合

    - 解决问题:如遇到MySQL的使用问题,可以通过搜索相关的文章或社区问答来寻找解决方案,如文中提到的MySQL使用.frm文件恢复表结构、解决source命令乱码问题等。 总的来说,MySQL 5.0是一个功能丰富的数据库管理...

    MATLAB工具箱下载地址总汇

    有限元工具箱是一个自由的 MATLAB 工具箱,提供了有限元方法和仿真的函数和示例,能够帮助用户快速实现有限元方法和仿真任务。下载地址:http://www.dytrol.com/viewFile.asp?Boardid=11&ID=264 14. 最速梯度法 最...

    Control Panel - Post Office Admin

    1. **Form1.frm**:这是VB6中的表单文件,包含了用户界面的设计,包括控件的位置、大小、属性和事件处理程序。 2. **Project1.vbp**:这是工程文件,包含了项目的整体信息,如引用的库、项目中的模块、表单和工程...

    MYSQL迁移或者升级的故障解决大全[归纳].pdf

    如果出现“Can't find file: './mysql/user.frm' (errno: 13)”这样的错误,表示MySQL无法找到或访问其权限表。这可能是因为数据文件丢失或损坏。此时,需要检查MySQL的数据目录(如`/var/lib/mysql/`),确保所有...

Global site tag (gtag.js) - Google Analytics