Em primeiro lugar, eu não posso imaginar por que você está tentando executar uma loja Magento com apenas 512MB de RAM -
é uma receita para o desastre .
130128 6:21:03 InnoDB: Fatal error: cannot allocate memory for the buffer pool
Esta é uma das duas coisas.
Você acabou de alocar memória no seu my.cnf
Isso não seria uma surpresa se você copiou + colou uma configuração "otimizada" do MySQL Magento da internet - sem prestar atenção à diferenciação do seu hardware, e do hardware do OP.
Você pode verificar executando,
mysql> show variables like 'innodb_buffer%';
Se esse valor estiver excedendo sua quantidade de RAM, reduza-o em sua configuração do MySQL /etc/mysql/my.cnf
ou /etc/my.cnf
e reinicie o MySQL.
Você está restrito por ulimit
Mesmo que sua configuração do MySQL esteja dentro dos limites aceitáveis de memória - você pode ser restringido pelas configurações do servidor.
Você pode verificar executando,
ulimit -a
E verificar os valores de virtual memory
e max memory size
. Teste-o executando
ulimit -v unlimited
ulimit -m unlimited
Então, iniciando o MySQL
/etc/init.d/mysql start