在一台电脑上已经安装有mysql了 但是不支持innodb,我重新编译安装了支持innodb的mysql 在原目录
安装完成后发现 show engines 已经有innodb了
show databases 显示原数据库都在
use emlogdb 选择其中一个数据库
show tables 出现问题
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| emconfdb           | 
| emlogdb            | 
| emlogdbhistory     | 
| jay                | 
| mysql              | 
| test               | 
+--------------------+
7 rows in set (0.00 sec)mysql> use emlogdb;
Database changed
mysql> show tables;
ERROR 1018 (HY000): Can't read dir of './emlogdb/' (errno: 13)请问这是什么问题 如何解决?

解决方案 »

  1.   

    emlogdb
    文件夹里有东西么?
      

  2.   

    没有卸载原来的MYSQL?是否是相同用户登录?
      

  3.   

    ./emlogdb/ 
    目录中应该是缺少文件,或者说没有权限。重新安装MYSQL并不会覆盖原来的数据库目录。
      

  4.   

    没有卸载原来的mysql 直接在原mysql的目录下安装的
      

  5.   

    ls -l ./emlogdb/  结果贴出来看一下。
      

  6.   

    debian:/usr/local/sepia/mysql/var# ls -l ./emlogdb/
    total 104
    -rw-rw---- 1 root mysql 9296 2010-10-18 12:23 botnet_em_date.frm
    -rw-rw---- 1 root mysql    0 2010-10-18 12:23 botnet_em_date.MYD
    -rw-rw---- 1 root mysql 1024 2010-10-18 12:23 botnet_em_date.MYI
    -rw-rw---- 1 root mysql 8968 2010-10-18 12:23 botnet_em_gather.frm
    -rw-rw---- 1 root mysql    0 2010-10-18 12:23 botnet_em_gather.MYD
    -rw-rw---- 1 root mysql 1024 2010-10-18 12:23 botnet_em_gather.MYI
    -rw-rw---- 1 root mysql 8834 2010-10-18 12:23 botnet_em_report_hrt.frm
    -rw-rw---- 1 root mysql    0 2010-10-18 12:23 botnet_em_report_hrt.MYD
    -rw-rw---- 1 root mysql 1024 2010-10-18 12:23 botnet_em_report_hrt.MYI
    -rw-rw---- 1 root mysql 8844 2010-10-18 12:23 botnet_em_trend_hrt.frm
    -rw-rw---- 1 root mysql    0 2010-10-18 12:23 botnet_em_trend_hrt.MYD
    -rw-rw---- 1 root mysql 1024 2010-10-18 12:23 botnet_em_trend_hrt.MYI
    -rw-rw---- 1 root mysql 8976 2010-10-18 12:23 botnet.frm
    -rw-rw---- 1 root mysql    0 2010-10-18 12:23 botnet.MYD
    -rw-rw---- 1 root mysql 1024 2010-10-18 12:23 botnet.MYI
    -rw-rw---- 1 root mysql   61 2010-10-18 12:23 db.opt
    -rw-rw---- 1 root mysql 9082 2010-10-18 12:23 em_status.frm
    -rw-rw---- 1 root mysql   24 2010-10-18 12:23 em_status.MYD
    -rw-rw---- 1 root mysql 1024 2010-10-18 13:09 em_status.MYI
    我现在这个用户创建的是 用户是mysql
    如下
    debian:/usr/local/sepia/mysql/var# ls -l
    total 23536
    -rw-rw---- 1 mysql mysql    16219 2010-10-18 23:08 debian.err
    -rw-rw---- 1 mysql mysql        5 2010-10-18 22:01 debian.pid
    drwx--S--- 2 root  mysql     4096 2010-10-18 12:23 emconfdb        原表
    drwx--S--- 2 root  mysql     4096 2010-10-18 22:14 emlogdb         原表
    drwx--S--- 2 root  mysql     4096 2010-10-18 12:23 emlogdbhistory  原表
    -rw-rw---- 1 mysql mysql 10485760 2010-10-18 22:01 ibdata1
    -rw-rw---- 1 mysql mysql  5242880 2010-10-18 22:01 ib_logfile0
    -rw-rw---- 1 mysql mysql  5242880 2010-10-18 22:01 ib_logfile1
    drwx--S--- 2 mysql mysql     4096 2010-10-18 22:12 jay
    drwx--S--- 2 mysql mysql     4096 2010-10-18 11:52 mysql
    -rw-rw---- 1 root  mysql    18933 2010-10-18 11:52 mysql-bin.000001
    -rw-rw---- 1 root  mysql   709496 2010-10-18 11:52 mysql-bin.000002
    -rw-rw---- 1 root  mysql   116801 2010-10-18 13:09 mysql-bin.000003
    -rw-rw---- 1 root  mysql     4301 2010-10-18 22:01 mysql-bin.000004
    -rw-rw---- 1 mysql mysql      951 2010-10-18 22:00 mysql-bin.000005
    -rw-rw---- 1 mysql mysql   709496 2010-10-18 22:00 mysql-bin.000006
    -rw-rw---- 1 mysql mysql      268 2010-10-18 23:20 mysql-bin.000007
    -rw-rw---- 1 root  mysql      951 2010-10-18 23:14 mysql-bin.000008
    -rw-rw---- 1 root  mysql   709496 2010-10-18 23:14 mysql-bin.000009
    -rw-rw---- 1 mysql mysql      951 2010-10-18 23:16 mysql-bin.000010
    -rw-rw---- 1 mysql mysql   709496 2010-10-18 23:16 mysql-bin.000011
    -rw-rw---- 1 root  mysql      209 2010-10-18 23:16 mysql-bin.index
    drwx--S--- 2 mysql mysql     4096 2010-10-18 23:20 new
    drwx--S--- 2 mysql mysql     4096 2010-10-18 11:52 test
      

  7.   

    想不通我是按照原来的安装脚本 安装的 除了添加了innodb之外
    为什么现在同样登录 用户不一样了
      

  8.   

    但是这个新的mysql使用root创建出来的数据库所有者是mysql
    原来的是root
      

  9.   

    drwx--S--- 2 root  mysql     4096 2010-10-18 12:23 emconfdb        原表
    drwx--S--- 2 root  mysql     4096 2010-10-18 22:14 emlogdb         原表
    drwx--S--- 2 root  mysql     4096 2010-10-18 12:23 emlogdbhistory  原表改一下这三个目录的权限,你现在是只有ROOT有权限。chmod 777 emlogdb         
      

  10.   

    覆盖安装的时候会把原来的数据库 的所有者改变从mysql 变成了root 貌似是这样