Primer problema
Está intentando ejecutar el comando mysqld_safe
, por lo que ese comando debe estar en PATH donde la terminal busca comandos. (Puede ver estas ubicaciones ejecutando echo $PATH
. Las diferentes ubicaciones se separan con dos puntos).
Dado que está intentando ejecutar un archivo que se encuentra en el directorio local, debe escribir ./mysqld_safe
para decirle al shell que le está dando una ruta al archivo; de lo contrario, lo buscará en PATH . (Puede ejecutar el archivo desde cualquier lugar especificando la ruta completa).
Otra solución es hacer un enlace simbólico en /usr/local/bin/
que apunta a /usr/local/mysql/mysqld_safe` (que es la ruta al comando si lo entendí correctamente). De esa manera, puede ejecutar el comando desde cualquier lugar porque está en la ruta que está buscando el shell.
Segundo Problema
El cat
el comando rodeado de acentos graves es ejecutado por el shell antes ejecutando el comando sudo (si el archivo era legible para todos, el shell ejecutará algo como:sudo kill 12345
).
Para ejecutar el cat
como root, debe ejecutar este comando:
sudo bash -c 'kill `cat /usr/local/mysql/data/rodongi.pid`'
De esa manera, ejecuta bash como root, que a su vez ejecuta kill
comando, y por lo tanto lee el rodongi.pid
archivo como root.