2013-03-16 141 views
0

我正在配置MySQL以将其数据存储在Amazon EBS卷上。我已经安装量在/data,在配置和数据文件移动到体积和符号链接的MySQL文件:在EBS卷上配置MySQL时出错

130316 9:59:04 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
130316 9:59:04 InnoDB: Operating system error number 40 in a file operation. 
InnoDB: Error number 40 means 'Too many levels of symbolic links'. 
InnoDB: Some operating system error numbers are described at 
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html 
InnoDB: File name ./ln 
InnoDB: File operation call: 'stat'. 
InnoDB: Error: os_file_readdir_next_file() returned -1 in 
InnoDB: directory . 
InnoDB: Crash recovery may have failed for some .ibd files! 
:此错误几个小时后

ln -s /data/mysql/lib/mysql /var/lib/mysql 
ln -s /data/mysql/etc/mysql/my.cnf /etc/mysql/my.cnf 
ln -s /data/mysql/log/mysqld.log /var/log/mysqld.log 

数据库服务器运行,但崩溃

有没有人了解这个错误,以及如何解决它?我试图找出更多,但没有太多的文件。我正在运行Ubuntu AMI(微)。

下面是我格式化和安装卷(8 GB):

sudo mkfs.ext4 /dev/xvdf 
mkdir -m 000 /data 
echo "/dev/xvdf /data auto noatime 0 0" | sudo tee -a /etc/fstab 
sudo mount /data 
+0

连接的EBS卷的大小是什么,还有你格式化并正确安装? – 2013-03-16 16:35:14

+0

我编辑了这个问题来添加这个。 – 2013-03-16 16:39:50

回答

0

它看起来像我fat-fingergered在/data/mysql/lib/mysql/名为ln文件。这个文件符号链接到它自己,这显然创建了一个无限循环的符号链接,因此错误'Too many levels of symbolic links'

但我不明白为什么MySQL会尝试首先访问这个文件。

0

这里有几头了,我可以给, 1)删除符号链接,并提供了绝对路径,可能是因为syslink会抛出errors.If它不工作卸载mysql数据库并重新安装它,并确保您提供附加volume.One更多的事情停止mysql服务器之前将所有文件移动到新卷??尝试一次重新启动MySQL服务器,希望它有帮助!

0

下面的程序每次都适用于我。

#mkfs.ext4 /dev/xvdf

#mkdir /mnt/data

#mount /dev/xvdf /mnt/data

#/etc/init.d/mysql stop

编辑/etc/mysql/my.cnf文件并寻找“DATADIR”的条目,并更改路径(这应该是“在/ var/lib中/ mysql“)到新的数据目录(/ mnt/data)。

#/etc/init.d/mysql restart

0

每当看到这样的问题,我会问:“你为什么不使用RDS”?

http://aws.amazon.com/rds/

这是完全一样的,你想使用基于云的服务这样的问题 - 使你不必担心给药/配置硬件,数据库等任何东西。

+0

RDS也有缺点..您没有超级特权,您在更改服务器设置方面受到限制,自动或手动扩展到更多读取的从服务器需要大量的(停机)时间,这同样适用于快照恢复,最后它是更贵。我们已经通过自我管理的EC2服务器取代了所有的RDS实例,并且我不能为任何高级项目推荐RDS – 2013-03-18 07:02:09

+0

(1)RDS对于小型项目来说代价很高。(2)我想提高我的系统管理员技能。我宁愿修复这个问题,而不是通过切换到不同的服务来忽略它。 – 2013-03-20 17:09:42

+0

好点Michel Feldheim和Joseph Mornin! – 2013-03-21 00:11:55