rake db:migrate
我收到错误:
Mysql2::错误:无法读取目录 './site_development/' (errno: 13):显示表格
已安装恶作剧的当前版本:
从MySQL安装捆绑包:mysql Ver 14.14 Distrib 5.5.12,用于osx10.6(i386),使用readline 5.1
来自 RVM: 红宝石 1.9.2p180 (2011-02-18 修订版 30909) [x86_64-达尔文10.7.0];导轨 3.0.7;Mysql2 0.2.7
我知道某些权限需要更新,但我不太确定哪些权限。
您的数据库是否被命名为site_development
?如果是这样,这可能会有所帮助:
确定您的 mysql 数据目录是什么。对我来说,这是/usr/local/mysql/data
. sudo ls -l
那个坏男孩。我敢打赌,您会找到一个名为site_development
的目录,该目录由root
(或_mysql
用户以外的某个用户)拥有。对我来说,所有的 mysql 数据目录都归_mysql:wheel
所有。您是否有另一个正常工作的数据库?在 data
目录中查看该表的所有权,并确保site_development
匹配。
我怀疑如果您从命令行运行mysql
,并尝试从该数据库中的表中选择某些内容,您会看到类似的错误。如果没有,请告诉我们您的数据库名称是什么,您的 mysql 数据目录的权限是什么。
如果您不确定 mysql 数据目录的位置,请尝试键入 which mysql
。这应该告诉你 mysql 二进制文件在哪里,它应该在PATH_PREFIX/mysql/bin/mysql
控制器中。数据目录应该是bin
的同级,所以它是PATH_PREFIX/mysql/data
。
对于 Mac OS,请运行
sudo chown -R mysql:mysql /usr/local/mysql*
用户 mysql 应该对 mysql 数据目录具有写入权限。