Första problemet
Du försöker köra kommandot mysqld_safe
, så det kommandot bör finnas på PATH där terminalen letar efter kommandon. (Du kan se dessa platser genom att köra echo $PATH
. De olika platserna är åtskilda med ett kolon).
Eftersom du försöker köra en fil som finns i den lokala katalogen bör du skriva ./mysqld_safe
för att tala om för skalet att du ger en sökväg till filen, annars kommer den att söka efter den i PATH . (Du kan köra filen var som helst genom att ange den fullständiga sökvägen).
En annan lösning är att skapa en symbolisk länk i /usr/local/bin/
som pekar på /usr/local/mysql/mysqld_safe` (som är sökvägen till kommandot om jag förstått dig rätt). På så sätt kan du köra kommandot var som helst eftersom det är i sökvägen som skalet letar efter.
Andra problemet
cat
kommandot omgivet av backticks exekveras av skalet före kör kommandot sudo (om filen var läsbar för alla kommer skalet att köra något som:sudo kill 12345
).
För att köra cat
som root bör du köra detta kommando:
sudo bash -c 'kill `cat /usr/local/mysql/data/rodongi.pid`'
På så sätt kör du bash som root, som i sin tur kör kill
kommandot och läser alltså rodongi.pid
fil som root.