Я занимаюсь разработкой приложения Rails v2.3.и используя MySQL v5.1.
мне нужно остановить и запустить базу данных mysql в одной из моих граблей , но я незнаете, как реализовать эту вещь, кто-нибудь может мне помочь?
namespace :db do
task :some_db_task => :environment do
#shut down mysql
...
#start mysql
end
end
Кстати, я занимаюсь разработкой на Ubuntu машине.
---------------------- Обновить ----------------------------
Я пытался exec "/etc/init.d/mysql stop"
, я получил следующее сообщение об ошибке:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql stop
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop mysql
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.78" (uid=1000 pid=6331 comm="stop) interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init"))
Я пытался /etc/init.d/mysql stop
также в командной строке, та же ошибка возникает,
Следуя инструкциям сообщения об ошибке, я попытался service mysql stop
, я получил новое сообщение об ошибке:
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.79" (uid=1000 pid=6343 comm="stop) interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init"))
, почему я не могу остановить mysql ??
--------------- обновление 2 -------------------------
Я понимаю, что, хотя вышеприведенное сообщение об ошибке показывает, sudo /etc/init.d/mysql stop
на самом деле сделал свою работу .MySQL останавливается этой командой, в то время как сообщение поднимается.