sql >> Databáze >  >> RDS >> Mysql

Terminál nerozpoznává příkazy mysqld a mysql

První problém

Pokoušíte se provést příkaz mysqld_safe , takže příkaz by měl být na PATH kde terminál hledá příkazy. (Tato místa můžete zobrazit spuštěním echo $PATH . Různá umístění jsou oddělena dvojtečkou).

Protože se pokoušíte spustit soubor, který je v místním adresáři, měli byste zadat ./mysqld_safe říct shellu, že dáváte cestu k souboru, jinak to bude hledat v PATH . (Soubor můžete spustit odkudkoli zadáním úplné cesty).

Dalším řešením je vytvořit symbolický odkaz v /usr/local/bin/ který ukazuje na /usr/local/mysql/mysqld_safe` (což je cesta k příkazu, pokud jsem to správně pochopil). Tímto způsobem můžete spustit příkaz odkudkoli, protože je v cestě, kterou shell hledá.

Druhý problém

cat příkaz obklopený backticks je spuštěn shellem před spuštění příkazu sudo (Pokud byl soubor čitelný pro každého, shell provede něco jako:sudo kill 12345 ).

Chcete-li spustit cat jako root byste měli spustit tento příkaz:

sudo bash -c 'kill `cat /usr/local/mysql/data/rodongi.pid`'

Tímto způsobem spustíte bash jako root, který zase spustí kill a přečte tak rodongi.pid soubor jako root.




  1. Jak získat pole z listagg v uvozovkách?

  2. vývojářský nástroj Oracle SQL – data nejsou po potvrzení k dispozici

  3. Strategie indexování pro různé kombinace klauzulí WHERE vč. textové vzory

  4. jak zkrátím vstupní e-mailovou adresu tak, aby do databáze byla vložena pouze data před @?