sql >> Databasteknik >  >> RDS >> Mysql

Terminalen känner inte igen mysqld och mysql kommandon

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.




  1. Prestandaöverväganden för Azure SQL Managed Instance

  2. SQL-fråga att räkna i grupp efter med specifikt villkor

  3. Laravel 5.2 - Använd en sträng som en anpassad primärnyckel för Eloquent Table blir 0

  4. Lösning för ORA-00997:olaglig användning av LONG datatyp