我在亚马逊Linux AMI上运行了一个amazon ec2实例和一个微型实例。 我想把Django安装到我的服务器上,所以我input了这些命令
wget http://www.mlsite.net/blog/wp-content/uploads/2008/11/go wget http://www.mlsite.net/blog/wp-content/uploads/2008/11/django.conf chmod 744 go ./go
所以在我完成之后,我运行了sudo service httpd restart
和sudo service mysqld restart
这是为mysqld而来的:
Stopping mysqld: [ OK ] MySQL Daemon failed to start. Starting mysqld: [FAILED]
所以我删除了django文件/usr/local/python2.6.8/site-packages/django_registration.egg
,我试图find这个错误,并且发现在我的/etc/my.cnf
,这个套接字表示socket=/var/lock/subsys/mysql.sock
所以我去了/var/lock/subsys/
并没有mysql.sock
。 我试图创build一个使用VIM,但它仍然无法正常工作。 然后我检查了错误日志,它说
120712 20:33:11 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 120712 20:33:15 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
我input了这些命令:
cd /var/lib/mysql/ touch mysql.sock chmod +x mysql.sock chown mysql:mysql -R *
而它仍然没有工作…
所以我现在很失落 我知道这与mysql.sock
如果你可能知道这个原因造成的,你可以让我知道吗? 我有我的服务器上的WordPress的网站,所以我需要MySQL的工作。 谢谢!
检查你下载和执行的脚本,我发现了以下几行:
# Change the MySQL data directory sed -e 's!/var/lib/mysql$!/mnt/ebs/mysql!' -i /etc/my.cnf
这有效地改变你的MySQL数据目录( datadir
设置),所以你不能访问任何以前创build的数据库(如wordpress数据库)。
作为一个疯狂的猜测,我会认为mysqld不能访问/mnt/ebs/mysql
,因此不能启动。 尝试将其更改回/var/lib/mysql
。 但是,这可能会干扰你的Django。 如果你得到了djangoconfiguration的mysql运行,你可以随时添加另一个名字和其他的tcp端口my.cnf,运行两个不同configuration的MySQL服务器。
套接字错误消息是关于MySQL服务器不运行。 不要试图通过放置文件来模拟套接字。
go
脚本还对my.cnf做了一些更改,这可能是一个问题。 看看自己的文件,并尝试撤消所做的更改。
如果没有上述的帮助,你可以尝试从命令行手工启动mysqld进程,使用与服务脚本相同的参数,加上一个添加的--verbose
并将其输出。
好的,我明白了@escitalopram,所以我会接受他的回答! 好吧,django将我的MySQL数据目录从/var/lib/mysql
更改为/etc/my.cnf
/mnt/ebs/mysql
,因此在我的/etc/my.cnf
,它表示
datadir=/mnt/ebs/mysql
,并将其更改为datadir=/var/lib/mysql
。 一切正常。 我重新启动MySQL希望红色的[FAILED]消息,但我得到了[确定]。 另外,我的套接字在/etc/my.cnf
中搞砸了,但是我已经修复了这个问题!
我在亚马逊e2c服务器上有相同的情况
我也这样做了:
cd /var/lib/mysql/ sudo touch mysql.sock sudo chmod +x mysql.sock sudo chown mysql:mysql -R *
重启服务器,
然后:
sudo /etc/init.d/mysqld start
检查mysql:
mysql -u root -p
注意,这不会解决问题。 但它会让您有机会访问数据并转移到可靠的服务器