Na początek usuń spacje po -u i -p. Wiem, że to wygląda dziwnie, ale mysql ma tętniaka, jeśli nie.
Również jeśli i tak jesteś w php, dlaczego to robisz? Po prostu usuń polecenie mysql z php i bez powłoki. Jeśli aktywne połączenie, które posiadasz, nie ma odpowiednich danych uwierzytelniających, użyj nowego obiektu połączenia z odpowiednimi danymi uwierzytelniającymi, zrób to, a następnie zamknij to połączenie.
To prowadzi mnie do zawstydzającego, ale koniecznego pytania o to, kiedy używasz powłoki, na jakim polu działa ta powłoka, na komputerze klienckim, który nie jest serwerem?