Я використовую таку команду:
mysql -u root -h 127.0.0.1 -p
і повідомлення про помилку:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
Хто може допомогти мені це виправити?
Я використовую таку команду:
mysql -u root -h 127.0.0.1 -p
і повідомлення про помилку:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
Хто може допомогти мені це виправити?
Відповіді:
Якщо ви використовуєте ubuntu
, вам слід скористатися наступними кроками, щоб уникнути цієї помилки (якщо реплікація не ввімкнена):
vim /etc/mysql/my.cnf
bind-address = 127.0.0.1
використовуючи символ #Оновлення
На кроці 1, якщо ви не можете знайти його bind-address
у my.cnf
файлі, знайдіть його у /etc/mysql/mysql.conf.d/mysqld.cnf
файлі.
Оновлення в разі включення реплікації MySQL
Спробуйте підключити MySQL-сервер, IP
для якого MySQL-сервер прив’язаний у "my.cnf instead of
localhost або 127.0.0.1".
service mysql restart
. А тепер це працює!
bind-address = 127.0.0.1
в/etc/mysql/my.cnf
Спробуйте localhost
замість того, 127.0.0.1
щоб підключитися або у вашому connection-config
. Працював для мене на Debian Squeeze Server
Це відбувається, коли ви забудете запустити базу даних перед підключенням до неї:
mysql.server start
тоді
mysql -u root -p -h 127.0.0.1
sudo service mysqld start
в моєму екземплярі AWS EC2 за допомогою MySQL Community Server.
У моєму випадку (віддалене підключення) допомогло відключити брандмауер на сервері.
service iptables stop
service firewalld stop
Ця проблема може виникнути через те, що ваш сервер MySQL не встановлений і не працює. Щоб виконати командний рядок запуску як адміністратор і введіть команду:
"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --install
Якщо ви отримаєте повідомлення "сервіс успішно встановлений", вам потрібно запустити службу MySQL. Для цього: перейдіть до вікна Сервіси (Диспетчер завдань -> Послуги -> Відкрити служби). Знайдіть MySQL та запустіть його з верхньої панелі навігації. Тоді, якщо спробувати відкрити mysql.exe, це спрацює.
cd "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin"
і то mysqld --install
. Крім того, номер сервера залежить від завантаження.
подивіться на my.cnf
файл, якщо він містить [client]
розділ, а port
інший, ніж справжній порт прослуховування (за замовчуванням 3306), ви повинні підключити сервер із явним параметром -P 3306
, наприклад
mysql -u корінь -h 127.0.0.1 -p -P 3306
my.cnf
. його немає на сервері wamp, а в моєму ноутбуці
Вам потрібно змінити параметр bind-address у 127.0.0.1 у файлі конфігурації mysql (my.ini або my.cnf) або використовувати той, який визначений там.
Якщо це не працює, ви повинні перевірити, чи дійсно працює служба mysql.
bind-address =127.0.0.1
в my.cnf відключає віддалене з'єднання з БД. Тож навіть якщо це спрацювало (чого це не так) - це не гарне рішення.
У мене просто є ця проблема .... працює на Win7 і wamp сервері ... прочитавши це
Виявлено, що антивірусний брандмауер викликав проблему.
Для користувачів Docker - Коли ви намагаєтеся підключити локальний sql за допомогоюmysql -u root -h 127.0.0.1 -p
і ваша база даних працює наконтейнері Docker , переконайтеся, що служба mysql запущена (перевірте за допомогоюdocker ps
а також перевірте, чи ви знаходитесь у правильному порту), якщо контейнер вниз ви отримаєте помилку підключення.
Найкраща практика - встановити ip-i /etc/hosts
на вашій машині:
127.0.0.1 db.local
і запускаючи його mysql -u root -h db.local -p
Спробуйте не закривати iptables та відкривати порт 3306.
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
або sudo ufw allow 3306
якщо ви використовуєте ufw.
перевірити: netstat -lnp | grep mysql
ви повинні отримати що-небудь таке:
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
якщо у вас є null, тоді видаліть # before port = 3306 у файлі cnf.
Переконайтеся, що ваш сервер MySql працює на localhost.
У Linux
Щоб перевірити, чи працює сервер MySql:
sudo service mysql status
Для запуску сервера MySql:
sudo service mysql start
У Windows
Щоб перевірити, чи працює сервер MySql:
C:\Windows\system32>net start
Якщо MySql відсутній у списку, потрібно запустити / запустити MySql.
Для запуску сервера MySql:
C:\Windows\system32>net start mysql
Сподіваюся, це допомагає.
Я змінив інсталяційний каталог при перевстановці, і він спрацював.