Dostęp do roota poza localhost w MySQL

Dzisiaj króciutki wpis. Zarządzać bazami MySQL możemy na wiele sposobów - konsola, www (phpMyAdmin), dedykowane programy (HeidiSQL). Niestety jeśli chcemy logować się na roota za pomocą dedykowanych programów, a nie mamy zainstalowane np. phpMyAdmina, to nie dostaniemy się tak łatwo - domyślnie dostęp do roota jest możliwy tylko z lokalnego komputera (serwera).

W takim razie musimy pobawić się w konsoli :) Nie jest taka straszna na jaką wygląda.

Pierwsze co musimy zrobić to zalogować się do MySQL:

mysql -u root -p

Wpisujemy hasło do roota.

Następnie w konsoli mysql wpisujemy po kolei:

use mysql;
select host, user from user;

Teraz znajdujemy naszego hosta, tzn serwera - będzie inny niż localhost.

apache_mysql_host.PNG
Teraz zostały nam 3 polecenia do wydania:

update user set host='%' where user='root' and host='NAZWA_HOSTA';
flush privileges;
quit;

Po tym zabiegu możemy już logować się na konto roota z dowolnego programu z dowolnego miejsca na świecie (jeśli serwer jest skonfigurowany na połączenia przychodzące spoza localhost - za komentowany bind_address) :)