Masalah pertama
Anda mencoba menjalankan perintah mysqld_safe
, sehingga perintah tersebut harus berada di PATH di mana terminal mencari perintah. (Anda dapat melihat lokasi ini dengan menjalankan echo $PATH
. Lokasi yang berbeda dipisahkan dengan titik dua).
Karena Anda mencoba menjalankan file yang ada di direktori lokal, Anda harus mengetikkan ./mysqld_safe
untuk memberi tahu Shell bahwa Anda memberikan jalur ke file, jika tidak, shell akan mencarinya di PATH . (Anda dapat menjalankan file dari mana saja dengan menentukan path lengkapnya).
Solusi lain adalah membuat tautan simbolis di /usr/local/bin/
yang menunjuk ke /usr/local/mysql/mysqld_safe` (yang merupakan jalur ke perintah jika saya memahami Anda dengan benar). Dengan begitu Anda dapat menjalankan perintah dari mana saja karena berada di jalur yang dicari shell.
Masalah Kedua
cat
perintah yang dikelilingi oleh backticks dijalankan oleh shell sebelum menjalankan perintah sudo (Jika file dapat dibaca oleh semua orang, shell akan mengeksekusi sesuatu seperti:sudo kill 12345
).
Untuk menjalankan cat
sebagai root Anda harus menjalankan perintah ini:
sudo bash -c 'kill `cat /usr/local/mysql/data/rodongi.pid`'
Dengan begitu, Anda menjalankan bash sebagai root, yang pada gilirannya menjalankan kill
perintah, dan dengan demikian membaca rodongi.pid
file sebagai root.