Я установил MySQL Community Edition 5.5 на локальной машине и хочу разрешить удаленные подключения, чтобы я мог подключаться из внешнего источника.
Как я могу это сделать?
Это разрешено по умолчанию в MySQL.
Что запрещено по умолчанию, так это удаленный доступ root
. Если вы хотите включить его, выполните эту SQL-команду локально:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Затем найдите следующую строку и закомментируйте ее в вашем файле my.cnf
, который обычно находится в /etc/mysql/my.cnf
в системах Unix/OSX. В некоторых случаях этот файл находится в /etc/mysql/mysql.conf.d/mysqld.cnf).
Если это система Windows, вы можете найти его в каталоге установки MySQL, обычно это C:\Program Files\MySQL\MySQL Server 5.5\
и имя файла будет my.ini
.
Измените строку
bind-address = 127.0.0.1
на
#bind-address = 127.0.0.1
И перезапустите сервер MySQL (Unix/OSX, и Windows), чтобы изменения вступили в силу.
После выполнения всех выше, я по-прежнему не мог'т войти как пользователь root
удаленно, но работы с telnet к порту 3306
подтвердили, что MySQL в
был принимать соединения.
Я начал смотреть на пользователей в MySQL и заметил, что было несколько корневых пользователи с различными паролями.
select user, host, password from mysql.user;
Так в MySQL в
Я установить все пароли для root снова, и я могла наконец войти в систему удаленно, как "корень".
use mysql;
update user set password=PASSWORD('NEWPASSWORD') where User='root';
flush privileges;
Просто к сведению, из моего опыта, вы можете найти файл конфигурации по этому пути файл/etc/mysql в/в MySQL.конф.д/тузды.КНФ`.
(Я боролся в течение некоторого времени, чтобы найти этот путь)
В моем случае я пытался подключиться к удаленному серверу mysql на cent OS. Пройдя через множество решений (предоставление всех привилегий, удаление привязки ip, включение сетевого подключения), проблема так и не была решена.
Как оказалось, во время поиска различных решений, я наткнулся на iptables, благодаря которому я понял, что порт 3306 mysql не принимает соединения.
Вот небольшая заметка о том, как я проверил и решил эту проблему.
telnet (ip сервера mysql) [portNo]
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
service iptables stop
Надеюсь, это поможет.
Пожалуйста, выполните указанные ниже действия для настройки по шаблону удаленный доступ для пользователя MySQL.
(1) Открыть cmd.
(2) Перейти к пути файлов C:\Program \с MySQL сервером MySQL 5.\Х bin и выполните эту команду.
для mysql -u в корень -п
(3) ввести пароль root.
(4) выполните следующую команду, чтобы обеспечить разрешение.
предоставить все привилегии на *.* В 'ЛОГИН'@'ИС' ОПРЕДЕЛЕНЫ 'пароль';
имя пользователя: имя пользователя для подключения к серверу MySQL.
ИС: публичный IP-адрес, с которого вы хотите разрешить доступ к MySQL сервера.
пароль: пароль имя пользователя.
IP могут быть заменены на%, чтобы разрешить пользователю подключаться с любого IP По адрес.
(5) промыть, какие преференции с помощью следующей команды и выхода.
заподлицо привилегий;
выход; или \М
Если вы установили MySQL с варево
, это действительно слушать только на локальном интерфейсе по умолчанию. Чтобы это исправить нужно отредактировать файл/usr/местные/и т. д./Мой.КНФ и изменить привязку-адресаот
127.0.0.1на
*`.
Затем запустите варево услуг перезапустите MySQL
.
Если ваш серверный процесс MySQL прослушивает только 127.0.0.1 или ::1, то вы не сможете подключиться удаленно. Если у вас есть параметр bind-address
в /etc/my.cnf
, это может быть источником проблемы.
Вам также придется добавить привилегии для пользователя, не являющегося пользователем localhost
.
Просто Ф. Ю. Я Я вытащил мои волосы с этой проблемой в течение нескольких часов.. наконец-то я называю своего хостинг-провайдера и обнаружил, что в моем случае, используя облачный сервер, что в Панель управления для Сайт 1and1 они имеют среднее брандмауэр, который нужно клонировать и добавить порт 3306. После добавления я попал прямо в..
И для OS X люди там имейте в виду, что привязать-адрес параметр обычно задается в файл launchd plist и не в моей.ini-файл. Так что в моем случае, я снял в <строка>--bind адрес=127.0.0.1</строка>
С /библиотека/LaunchDaemons/доморощенного.mxcl.версию MariaDB.файл plist
.
Если тузды с привязка адреса набор для петлевой/локальный адрес (например, 127.0.0.1
), сервер будет недоступен с удаленных хостов, потому что петлевой интерфейс не может быть достигнуто из любого удаленного хоста.
Установить этот параметр в значение 0.0.0.0
(::
для IPv4+6) принимать подключения с любого хоста, или другой внешне-добраться до адреса если вы хотите Разрешить подключения только на одном интерфейсе.
иногда нужно использовать имя компьютера на Windows
первый шаг) положите в файл конфигурации сервера MySQL:
тузды.КНФ установить Бинд-адрес= 0.0.0.0
(пусть recibe подключений по протоколу TCP/ИС)
второй шаг) внести пользователя в MySQL, таблица пользователей, с Имя компьютера на Windows объектов недвижимости, ИС