Używam następującego polecenia:
mysql -u root -h 127.0.0.1 -p
a komunikat o błędzie to:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
Kto może mi pomóc to naprawić?
Używam następującego polecenia:
mysql -u root -h 127.0.0.1 -p
a komunikat o błędzie to:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
Kto może mi pomóc to naprawić?
Odpowiedzi:
Jeśli używasz ubuntu
, musisz wykonać następujące kroki, aby uniknąć tego błędu (jeśli nie ma włączonej replikacji):
vim /etc/mysql/my.cnf
bind-address = 127.0.0.1
za pomocą symbolu #Aktualizacja
W kroku 1, jeśli nie możesz znaleźć bind-address
w my.cnf
pliku, poszukaj go w /etc/mysql/mysql.conf.d/mysqld.cnf
pliku.
Aktualizacja w przypadku włączonej replikacji MySQL
Spróbuj połączyć się z serwerem MySQL, na IP
którym serwer MySQL jest powiązany w „my.cnf instead of
localhost lub 127.0.0.1”.
service mysql restart
. A teraz działa!
bind-address = 127.0.0.1
w/etc/mysql/my.cnf
Dzieje się tak, gdy zapomnisz uruchomić bazę danych przed połączeniem się z nią:
mysql.server start
następnie
mysql -u root -p -h 127.0.0.1
sudo service mysqld start
w mojej instancji AWS EC2 z MySQL Community Server.
W moim przypadku (zdalne połączenie) pomogło w wyłączeniu firewalla na serwerze.
service iptables stop
service firewalld stop
Ten problem może wystąpić, ponieważ serwer MySQL nie jest zainstalowany i nie działa. Aby to zrobić, uruchom wiersz polecenia jako administrator i wprowadź polecenie:
"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --install
Jeśli pojawi się komunikat „usługa została pomyślnie zainstalowana”, musisz uruchomić usługę MySQL. Aby to zrobić: przejdź do okna Usługi (Menedżer zadań -> Usługi -> Otwórz usługi) Wyszukaj MySQL i uruchom go z górnego paska nawigacyjnego. Wtedy, jeśli spróbujesz otworzyć mysql.exe, zadziała.
cd "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin"
a potem mysqld --install
. Ponadto numer serwera zależy od pobierania.
spójrz na my.cnf
plik, jeśli zawiera [client]
sekcję, a port
jest inny niż prawdziwy port nasłuchiwania (domyślnie 3306), musisz połączyć się z serwerem z jawnym parametrem -P 3306
, np.
mysql -u root -h 127.0.0.1 -p -P 3306
my.cnf
. nie ma go na serwerze wamp, w moim laptopie
Musisz zmienić parametr bind-address na 127.0.0.1 w pliku konfiguracyjnym mysql (my.ini lub my.cnf) lub użyć tego, który jest tam zdefiniowany.
Jeśli to nie zadziała, sprawdź, czy usługa mysql faktycznie działa.
bind-address =127.0.0.1
w my.cnf wyłącza zdalne połączenie z bazą danych. Więc nawet jeśli to zadziała (a nie jest) - to nie jest dobre rozwiązanie.
Po prostu mam ten problem ... działa w Win7 i serwerze wamp ... po przeczytaniu tego
Okazało się, że problem spowodowała zapora antywirusowa.
Dla użytkowników Dockera - podczas próby połączenia lokalnego sql przy użyciu,mysql -u root -h 127.0.0.1 -p
a Twoja baza danych działa nakontenerze Docker , upewnij się, że usługa mysql jest uruchomiona (sprawdź, czy używasz,docker ps
a także sprawdź, czy jesteś w odpowiednim porcie), jeśli kontener jest w dół pojawi się błąd połączenia.
Najlepszą praktyką jest ustawienie /etc/hosts
adresów IP na komputerze:
127.0.0.1 db.local
i prowadząc to mysql -u root -h db.local -p
Nie wyłączaj iptables i nie otwieraj portu 3306.
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
lub sudo ufw allow 3306
jeśli używasz ufw.
check: netstat -lnp | grep mysql
powinieneś coś takiego dostać:
cp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2048/mysqld
tcp6 0 0 :::33060 :::* LISTEN 2048/mysqld
unix 2 [ ACC ] STREAM LISTENING 514961 2048/mysqld /var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 514987 2048/mysqld /var/run/mysqld/mysqlx.sock
jeśli masz null, usuń # przed port = 3306 w pliku cnf.
Upewnij się, że serwer MySql działa na hoście lokalnym.
W systemie Linux
Aby sprawdzić, czy serwer MySql działa:
sudo service mysql status
Aby uruchomić serwer MySql:
sudo service mysql start
W systemie Windows
Aby sprawdzić, czy serwer MySql działa:
C:\Windows\system32>net start
Jeśli MySql nie ma na liście, musisz uruchomić / uruchomić MySql.
Aby uruchomić serwer MySql:
C:\Windows\system32>net start mysql
Mam nadzieję że to pomoże.
Zmieniłem katalog instalacyjny przy ponownej instalacji i zadziałało.