Я установил MySQL Community Edition 5.5 на свой локальный компьютер и хочу разрешить удаленные подключения, чтобы я мог подключаться из внешнего источника.
Как я могу это сделать?
Я установил MySQL Community Edition 5.5 на свой локальный компьютер и хочу разрешить удаленные подключения, чтобы я мог подключаться из внешнего источника.
Как я могу это сделать?
sudo mysql_secure_installation
. FYI.Ответы:
Это разрешено по умолчанию в MySQL.
По умолчанию отключен удаленный
root
доступ. Если вы хотите включить это, выполните эту команду SQL локально:А затем найдите следующую строку и закомментируйте ее в своем
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
.Изменить строку
в
И перезапустите сервер MySQL ( Unix / OSX и Windows ), чтобы изменения вступили в силу.
источник
my.cnf
файл и не находит в немbind-address
директивы, обратите внимание, что в моем случае (MySQL версия 14.14 на Ubuntu 16.04.2) местоположение файла было/etc/mysql/mysql.conf.d/mysqld.cnf
После выполнения всего вышеперечисленного я все еще не мог войти как
root
удаленно, но Telnetting к порту3306
подтвердил, чтоMySQL
принимал соединения.Я начал смотреть на пользователей в MySQL и заметил, что было несколько пользователей root с разными паролями.
Поэтому
MySQL
я снова установил все пароли для пользователя root и, наконец, смог удаленно войти в систему какroot
.источник
update user set authentication_string=password('YOUR_PASSWORD') where user='root';
Просто заметка из моего опыта, вы можете найти файл конфигурации по этому пути
/etc/mysql/mysql.conf.d/mysqld.cnf
.(Я боролся в течение некоторого времени, чтобы найти этот путь)
источник
sudo find /etc -iname 'mysql*.cnf'
В моем случае я пытался подключиться к удаленному серверу mysql на цент ОС. После прохождения множества решений (предоставление всех привилегий, удаление привязок ip, включение сетей) проблема все еще не решалась.
Как оказалось, при поиске различных решений я наткнулся на iptables, который заставил меня понять, что порт mysql 3306 не принимает соединения.
Вот небольшая заметка о том, как я проверил и решил эту проблему.
Надеюсь это поможет.
источник
Пожалуйста, следуйте приведенным ниже инструкциям, чтобы установить удаленный доступ с подстановочными символами для MySQL User.
источник
Если ваш серверный процесс MySQL прослушивает только 127.0.0.1 или :: 1, вы не сможете подключиться удаленно. Если у вас есть
bind-address
настройки в/etc/my.cnf
этом, это может быть источником проблемы.Вы также должны будете добавить привилегии для не
localhost
пользователя.источник
127.0.0.1
?Если вы установили MySQL из
brew
него, то он по умолчанию прослушивает только локальный интерфейс. Чтобы это исправить, нужно отредактировать/usr/local/etc/my.cnf
и изменитьbind-address
с127.0.0.1
на на*
.Тогда беги
brew services restart mysql
.источник
Весь процесс для удаленного входа. Удаленный вход по умолчанию отключен. Вам нужно открыть его вручную для всех ip .. чтобы дать доступ всем ip
Удельный IP
тогда
Вы можете проверить свой пользовательский хост и пароль
Теперь ваша обязанность изменить это
Вы можете найти это на
если вы не найдете этого там, попробуйте это
комментарий в этом
Затем перезапустите Mysql
Теперь наслаждайтесь удаленным входом
источник
Просто к сведению, я несколько часов пытался справиться с этой проблемой ... наконец, я позвонил своему хостинг-провайдеру и обнаружил, что в моем случае используется облачный сервер, который на панели управления для 1 и 1 имеет дополнительный межсетевой экран, который необходимо клонировать и добавить порт. 3306. После добавления я получил прямо в ..
источник
Для тех, кому это нужно, проверьте, открыт ли порт брандмауэра 3306, если ваша служба брандмауэра работает.
источник
Этот блог Как настроить сервер MySQL в локальной сети будет полезен при настройке
MySQL
с нуляисточник
А для OS X люди должны знать, что параметр bind-address обычно устанавливается в plist launchd, а не в файле my.ini. Так что в моем случае я снял
<string>--bind-address=127.0.0.1</string>
с/Library/LaunchDaemons/homebrew.mxcl.mariadb.plist
.источник
~/Library/LaunchAgents
Если
mysqld
для адреса привязки установлено значение loopback / local address (например,127.0.0.1
), сервер не будет доступен с удаленных хостов, поскольку с любого удаленного хоста невозможно получить доступ к интерфейсу loopback.Установите эту опцию на
0.0.0.0
(::
для IPv4 + 6), чтобы принимать соединения от любого хоста, или на другой внешне достижимый адрес, если вы хотите разрешить соединения только на одном интерфейсе.Источник
источник
Включение удаленного корневого доступа может быть опасным. Было бы предпочтительнее, если бы вы настраивали учетные записи пользователей с более строгими разрешениями. Следующие три шага должны сделать это.
Убедитесь, что строка, начинающаяся с
bind-address ...
, по крайней мере закомментирована в вашем файле my.ini или my.cnf. Если его не существует, двигайтесь дальше. Вы можете найти этот файл вC:\ProgramData\MySQL\MySQL Server 8.0
Windows.После этого убедитесь, что учетная запись пользователя, с которой вы устанавливаете соединение, не
localhost
указана в поле «Соответствие хостам». Хотя это и не рекомендуется, вместо этого вы можете указать%
это поле для целей тестирования. Это можно сделать, открыв локальное подключение к серверу с помощью MySQL Workbench, затем перейдя в меню «Сервер> Пользователи и привилегии» в строке меню и найдя учетную запись пользователя, к которой вы хотите подключиться.Поле «Limit to Hosts Matching» - это то, что запрещает вам подключаться не локально. Т.е. это ограничивает принятые соединения шаблоном IP-адресов. В идеале вы должны получать доступ к серверу MySQL со статического IP-адреса или подсети, чтобы вы могли быть настолько ограничены, насколько это возможно.
источник
иногда нужно использовать имя компьютера на Windows
первый шаг) поместите в конфигурационный файл mysql:
(чтобы позволить recibe соединения через TCP / IP)
второй шаг) сделать пользователя в mysql, таблицах пользователей, с именем компьютера в Windows , не IP
источник