Чем подключиться к mysql из windows

Подключаться к базам данных можно разными способами. Подключение, устанавливаемое с сервера, называется локальным. С помощью такого типа подключения можно работать с домашнего компьютера, при этом используя любые удобные приложения по управлению базами данных.

Я расскажу, как подключиться к удаленной базе данных MySQL, какие существуют способы, а также опишу некоторые типичные ошибки.

Подключение через панель управления TimeWeb

Чтобы подключиться удаленно к MySQL, необходимо для начала открыть сайт хостинга и авторизоваться в личном кабинете. В панели управления следует выбрать раздел «Базы данных MySQL», через него и будем проводить операции. В новом открывшемся окне находим ссылку «Добавить доступ» напротив того сервера, к которому планируется подключиться. Для разрешения доступа к подсети /24 меняем последний актет IP-адреса на знак %.

При установлении соединения используем имя сервера или его IP-адрес. Данная информация доступна на главной странице в разделе «Информация о сервере». Порт указываем 3306, имя пользователя будет тем же, что и название базы данных. Вводим пароль и устанавливаем соединение.

phpMyAdmin

phpMyAdmin – программное средство, предоставляющее веб-интерфейс для работы с сервером MySQL. Подключиться к базе можно, открыв раздел «Базы данных MySQL» в панели управления хостингом. Находим на странице ссылку «phpMyAdmin» и жмем по ней для подключения. Если она недоступна, значит, пользователем был превышен лимит доступных БД. Увеличить его можно сменой тарифа.

Входим в данный раздел, вбиваем все данные и подключаемся.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Соединение через SSH туннель

Данный тип подключения считается более безопасным, потому что все данные по SSH-туннелю передаются в зашифрованном виде, исключая возможность перехвата.

Подключение в Windows

В данной ОС соединение по SSH протоколу можно осуществить с помощью специальных программ для управления базами данных. Например, PuTTY (бесплатная программа) или SecureCRT (платное ПО, но с пробной версией на 30 дней).

Мы для работы выбрали PuTTY. Скачиваем установщик с официального сайта и устанавливаем приложение. Запускаем программу, затем переходим в раздел «Session». В поле «Host Name» вводим свой домен или указываем его IP-адрес.

Настройка туннеля SSH в приложении PuTTY

Далее переходим в категорию «Connection», открываем вкладку «SSH», затем «Tunnels». В поле «Source Port» указываем значение 3306, в «Destination» вбиваем localhost:3306, потом жмем на кнопку «Add» для добавления порта в список. И только потом жмем кнопку «Open» для установления соединения с хостом.

Создание SSH-туннеля с помощью программы PuTTY

Логин и пароль те же самые, которые используются для входа в панель управления. При подключении используем имя пользователя и пароль, выданные при создании базы данных. Адрес сервера — 127.0.0.1, порт для подключения 3306.

Предупреждаем, что если вы уже устанавливали сервер баз данных MySQL на своем компьютере, то соединение через порт 3306 будет недоступно. Надо будет указать другое значение, например 3307.

Подключение в Linux

В ОС Linux никакого дополнительного ПО устанавливать не придется, можно все провести через командную строку «Терминал». Перед тем как подключиться к MySQL удаленно, нужно создать SSH-туннель. Вводим вот такую команду:

ssh -L3306:localhost:3306 -n логин@site.com

Потом в конфигурационном файле MySQL потребуется изменить параметр, отвечающий за удаленное подключение. Открываем в «Терминале» файл, дав вот такую команду:

sudo nano /etc/mysql/my.cnf

Далее комментируем нужную нам строку. В итоге она должна выглядеть вот таким образом:

# bind-address = 127.0.0.1

Сохраняем изменения, потом перезапускаем MySQL вот такой командой:

sudo service mysql restart

Далее будет запрошен пароль для входа в панель управления хостингом, вводим его. Для подключения к удаленному серверу MySQL необходимо создать пользователя, и делается это вот такой командой:

GRANT ALL ON *.* TO имя_пользователя@127.0.0.1 IDENTIFIED BY 'пароль'

Так мы создадим пользователя с неограниченным доступом ко всем базам на указанном сервере. Потом проверяем подключение утилитой telnet. Если сервер запрос не отклонил, значит, пора приступать к подключению. Для этого можно задать команды вот таких типов:

mysql -u имя_пользователя –h 127.0.0.1 –p

mysql -h наименование_хоста -u dbUser -p dbName

VDS Timeweb арендовать

Как проверить соединение с базой данных MySQL

Для проверки подключения к базе данных MySQL во всех ОС используем утилиту telnet. Нужно просто открыть командную строку и набрать в ней вот такую команду:

telnet 127.0.0.1 3306

Если соединение установится, то настройка туннеля прошла успешно, можно приступать к подключению. Если нет, рекомендуем тщательно проверить все настройки.

Читайте также

Часовой пояс MySQL

MySQL и Java-приложение (docker)

Распространенные проблемы и ошибки при подключении к MySQL

Как подключиться к MySQL удаленно, если возникают какие-то ошибки? Трудности обычно возникают при наличии запрещающих правил. Проверить, существуют ли такие, можно вот таким запросом:

iptables-save

Если таковые обнаружатся, добавим разрешающее правило. Для этого надо ввести соответствующую команду, она должна выглядеть примерно вот так:

/sbin/iptables -A INPUT -i eth0 -p tcp —destination-port 3306 -j ACCEPT

Если при подключении возникает ошибка «Can’t connect to Mysql Server on ‘IP_адрес'(10061)», соединение заблокировал брандмауэр, firewall, outpost, антивирус и прочие программы. Для UFW, инструмента брандмауэра в Ubuntu, можно задать вот такую команду, разрешающую доступ с любого IP-адреса:

sudo ufw allow 3306/tcp

Есть еще возможность открыть доступ для определенного IP-адреса, и это куда более безопасный способ. Для этого потребуется ввести такой запрос:

sudo ufw allow from IP_адрес to any port 3306

Если же появляется ошибка типа «Client does not support autentification protocol request by server; consider upgrading MySQL client», это значит, что установленный клиент не поддерживает требуемый сервером протокол.

Эту ошибку можно исправить, установив пароль старого формата:

SET PASSWORD FOR user@host = OLD_PASSWORD('password')

Если при проверке выходит ошибка формата «ERROR 2003 (HY000): Can’t connect to MySQL server», это значит, что порт 3306 не открыт. Либо сервер MySQL не прослушивает указанный IP-адрес.

В случае, когда выходит сообщение «ERROR 1130 (HY000): Host ‘10.8.0.5’ is not allowed to connect to this MySQL server», указывается отсутствие прав доступа к удаленному серверу у пользователя.

Ошибка «1045 невозможно подключиться к серверу MySQL» возникает при попытке подключиться удаленно к базам данных через phpMyAdmin. Причиной тому может быть неправильно введенный логин или же отсутствие пароля у пользователя или его неправильная смена.

Заключение

MySQL – один из самых популярных серверов баз данных с открытым исходным кодом. Подключиться к нему можно разными способами, причем как локально, так и удаленно. Если в процессе соединения возникают нетипичные ошибки, рекомендуем связаться со службой технической поддержки. 

Делать запросы к базам данных MySQL можно не только через PHP. В комплекте с MySQL поставляется консольный клиент для подключения в серверу MySQL. Консольный — это означает, что у программы нет оконного интерфейса, а есть только интерфейс командной строки, в котором обращение к базам данных выполняется с помощью SQL запросов.

Команды для подключения к MySQL в командной строке, а уж тем более сами SQL запросы идентичны и для MariaDB. В дальнейшем для краткости я буду писать «MySQL», но везде я имею в виду «MySQL или MariaDB», поскольку в данном случае разницы между ними нет.

Подключившись через командную строку к СУБД MySQL можно выполнять самые разные задачи: просматривать базы данных и их таблицы, отправлять запросы к базам данных и получать результаты выполнения этих запросов.

Для подключения к серверу MySQL используется команда клиентская программа, которая называется mysql.exe. Её нужно запустить, но сделать нужно не двойным кликом, как обычную программу, а из командной строки.

Начнём с того, что нажмём сочtтание клавиш Win+r и выполним

cmd

Откроется командная строка.

Теперь нам нужно перейти в папку с файлом mysql.exe. Эта папка bin в директории, где установлена ваша СУБД MySQL. К примеру, у меня MariaDB, которая установлена в папке C:\Server\bin\mariadb\. Следовательно, интересующий нас файл находится в каталоге C:\Server\bin\mariadb\bin\. Для перехода в этот каталог используется команда cd следующим образом:

cd C:\Server\bin\mariadb\bin\

В этой команде замените C:\Server\bin\mariadb\bin\ на правильный для вашей системы путь

Теперь запустим файл mysql.exe. Необязательно указывать расширение файла .exe — система сама догадается, что мы имеем ввиду. Также нам нужно использовать опцию -u и -p. После первой опции нужно указать имя пользователя — root. После второй опции — пароль для пользователя. В моём случае пароль не установлен, поэтому я запускаю без опции -p:

mysql -u root

Может показаться, что мало что изменилось, но новое приглашение командной строки

MariaDB [(none)]>

говорит о том, что мы подключены к серверу MySQL. Точнее, в моём случае мы подключены к серверу MariaDB.

Чтобы посмотреть список баз данных, введём команду:

SHOW DATABASES;

Чтобы последующие запросы отправлялись к определённой базе данных (например, к test), используется команда USE:

USE test;

Чтобы посмотреть таблицы в выбранной базе данных запустите команду:

SHOW TABLES;

Создадим какую-нибудь таблицу:

CREATE TABLE AuthorsTBL (
    AuthorID INT NOT NULL AUTO_INCREMENT,
    AuthorName VARCHAR(100),
    PRIMARY KEY(AuthorID)
);

И вновь посмотрим содержимое базы данных test:

SHOW TABLES;

Если вы уже работали с базами данных MySQL через PHP, то вы можете использовать любые запросы, которые используете в PHP.

Чтобы выйти выполните команду

exit;

или нажмите Ctrl+d.

Для продолжения знакомства рекомендуется изучить материал:

  • Изучение MySQL / MariaDB для начинающих
  • 20 команд MySQL (mysqladmin) для администратора базы данных в Linux

Связанные статьи:

  • Apache для Windows (50%)
  • Как запустить Apache на Windows (50%)
  • Документация по Apache на русском языке (50%)
  • Как подключить PHP к Apache на Windows (50%)
  • Как подключить MySQL к Apache на Windows (50%)
  • Почему в логах ошибок Apache не сохраняются записи об ошибке 404 (RANDOM — 50%)
  • Главная

  • Инструкции

  • MySQL

  • Как подключиться к базе данных MySQL: инструкция

Подключение к удаленной базе данных MySQL позволяет работать с ее содержимым аналогично локальным БД. Такой подход позволяет редактировать, считывать информацию через интернет с любого компьютера независимо от расположения пользователя. 

В этом материале мы рассмотрим, как подключиться к MySQL несколькими способами. В качестве тестовой базы можно применять облачные базы данных провайдера Timeweb Cloud. Запуск БД там займет пару минут.

Способы, доступные пользователю

Существует несколько вариантов коннекта, какой именно выбрать, решать вам:

  1. Командная строка MySQL. Входит в комплект сервера MySQL.
  2. Графические инструменты вроде phpMyAdmin. В качестве альтернативы также используют Sequel Pro, MySQL Workbench и пр.

Во всех перечисленных способах возможно подключение по защищенному каналу благодаря SSL-сертификату.

Если вы используете облачную базу данных, найти нужный IP-адрес можно в панели управления аккаунтом в разделе «Базы данных». IP-адрес отображен в колонке «IPv4» строки с нужной БД. Вы можете скопировать адрес, просто кликнув на него.

Если база данных размещена на сервере (то есть речь идет не об облачной базе), то нужный IP — это IP-адрес вашего сервера. Найти его можно на странице нужного сервера, на вкладке «Дашборд».

Сколько подключений к БД доступно

Количество одновременно работающих с базой данных пользователей или приложений ограничено объемом оперативной памяти, выделенной на работу нод конкретного кластера. Все, что требуется от пользователя, это изменить тариф на Timeweb Cloud, масштабировать его под свои требования.

Подключение из разных операционных систем

Рассмотрим, как подключиться к базе данных MySQL из разных операционных систем. Выглядеть команды будут так:

Windows

mysql --host=<host> \
      --port=6033 \
      --user=<user_name> \
      --password \
      --database=<database_name> \
      --ssl-mode=disabled

Linux

mysql --host=<host> \
      --port=6033 \
      --user=<user_name> \
      --password \
      --database=<database_name> \
      --ssl-mode=disabled

Программный код

import mysql.connector
cnx = mysql.connector.connect(user='<user_name>', password='<password>',
                              host='<host>',
                              database='<database_name>')
cnx.close()

Подключение через phpMyAdmin

Последним шагом рассмотрим, как подключиться к MySQL Server через графический интерфейс приложения, разработанного для администрирования данной СУБД. Пользователю достаточно ввести в конфигурационный файл, расположенный на диске по пути /etc/phpmyadmin/config.inc.php, несколько новых строк:

    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    $cfg['Servers'][$i]['host'] = '<host>';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['port'] = '6033';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['extension'] = 'mysqli';
    $cfg['Servers'][$i]['AllowNoPassword'] = false;

На платформе Timeweb Cloud есть готовые инстансы phpMyAdmin и Adminer. Все что требуется от пользователя при их использовании, это ввести реквизиты для подключения. Но работают они лишь с белыми IP-адресами.

Выводы

Работать с удаленной базой данных можно с криптографической защитой данных или без нее. Это зависит от задачи, которую предстоит решать. Соединение возможно как вручную из операционок Linux и Windows, так и автоматически при наличии в приложении соответствующего кода. Вопрос, как подключиться к локальному серверу MySQL, имеет то же решение. Отличие составляет лишь адрес, который понадобится указать в командах.

Работать с MySQL можно с сервера, на котором расположена база данных, или с подручного устройства. Дистанционная работа с MySQL позволяет вносить изменения в БД с любого компьютера и использовать для этого удобные приложения. Поэтому перед начинающими разработчиками встает вопрос о том, как подключиться к базе данных MySQL удаленно. Выбор способа подключения зависит от уровня навыков специалиста и сложности стоящих перед ним задач: через веб-интерфейс phpMyAdmin — для повседневной работы, или через протокол SSH — для создания безопасного соединения и выполнения сложных функций. Инструкция по тому, как подключиться к базе данных MySQL — в статье.

С помощью phpMyAdmin

Панель phpMyAdmin — веб-приложение с удобным графическим интерфейсом для работы с сервером MySQL. Приложение поддерживает большинство функций системы управления базами данных:

  • создание, копирование и удаление базы данных;
  • создание таблиц;
  • редактирование табличных полей;
  • поиск информации по БД;
  • выполнение SQL-запросов;
  • просмотр прав пользователя и управление ими;
  • импорт и экспорт данных.

Как подключиться к MySQL.

Изображение от Freepik

Веб-интерфейс поможет разобраться в работе с СУБД даже начинающим системным сисадминам и разработчикам: чтобы настроить нужную функцию, достаточно зайти в раздел с соответствующим ей названием и выбрать из списка подходящие параметры. Например, найти данные можно с помощью пункта «Поиск».

Интерфейс phpMyAdmin.

В phpMyAdmin можно зайти через панель управления хостингом в Макхост, на виртуальном хостинге по умолчанию — ispmanager. Шаги по настройке удаленного подключения к БД через административную панель:

Шаг 1. Выберите существующую базу данных или создайте новую. После авторизации в админке необходимо открыть раздел меню «Основное» и перейти в пункт «Базы данных». Выберите нужную БД из появившегося списка. При создании новой базы не забудьте разрешить к ней удаленный доступ.

Создание БД в Макхост.

Шаг 2. Создайте пользователя с удаленным доступ к БД. Перед тем как открыть MySQL, необходимо создать пользователя, который будет осуществлять управление базой данных. В открывшемся окне выберите параметр «Пользователи» и нажмите кнопку «Добавить». Установите имя и пароль, которые системный администратор будет использовать для входа в web-интерфейс phpMyAdmin. Разрешите ему удаленный доступ, установив флажок напротив одноименного пункта, и определите, какие данные он сможет просматривать и редактировать.

Создание пользователя для БД.

Шаг 3. Откройте phpMyAdmin и пройдите авторизацию. После выбора пользователя, кнопка «phpMyAdmin» в панели управления станет активной. При ее нажатии вы попадете на страницу входа в веб-интерфейс по управлению БД. Сообщите хостинг-провайдеру IP-адрес, с которого будет осуществляться дистанционное подключение, чтобы избежать проблем доступом.

С помощью SSH

Подключение к серверу с MySQL по SSH начинающие разработчики выбирают редко, так как в этом случае отсутствует графический интерфейс, а управление БД осуществляется с помощью командной строки операционной системы. Однако такое решение имеет свои преимущества — подключение защищено шифрованием, а значит, передаваемые данные нельзя перехватить, и доступно больше функций для работы с информацией. Разбираемся, как подключиться к базе данных MySQL с помощью SSH в ОС Windows и дистрибутивах Linux.

Windows

Для создания SSH-туннелирования в Windows используется специализированное ПО. Наиболее популярной среди остальных программ является PuTTY. Скачать ее можно с официального сайта разработчика бесплатно. Последовательность настроек:

Шаг 1. Настройки Session. В поле Host Name необходимо указать ftp.доменное_имя, Port — 22, Connection type — SSH.

Подключение через Putty.

Шаг 2. Настройки Connection. Выберите тип соединения с сервером SSH, Telnet. Перейдите к заполнению полей: Source port — 3306 (порт для локального доступа после установки туннеля), Destination — localhost:3306 (хост, к которому подключаются по заданному порту) и Local (локальное подключение). Forwarded port заполнится автоматически после нажатия кнопки Add.

Подключение через Putty (2).

Шаг 3. Установка соединения с удаленным сервером по SSH. После установки всех настроек вернитесь в пункт Session и нажмите кнопку Open. Пройдите авторизацию по логину и паролю от ftp. Как правило, логин – root, а пароль отправляется хостингом в почтовом письме после установки ОС.

Linux

В дистрибутивах Линукс удаленное подключение к MySQL создается с помощью командной строки — Терминала. Последовательность команд:

  1. Создание SSH-туннеля:

    ssh -L3306:localhost:3306 -n пользователь@site.com.

  2. Настройка удаленного подключения к MySQL через конфигурационный файл:

    sudo nano /etc/mysql/my.cnf.

  3. Создание комментария:

    # bind-address = 127.0.0.1

  4. Сохранение правок и обновление параметров MySQL

    sudo service mysql restart.

  5. Создание пользователя

    GRANT ALL ON *.* TO имя_пользователя@127.0.0.1 IDENTIFIED BY ‘пароль’.

  6. Проверка подключения через Telnet.
  7. Соединение с сервером:

    mysql -u имя_пользователя –h 127.0.0.1 –p; mysql -h наименование хоста -u dbUser -p dbName.

Заключение

MySQL облегчает работу с данными сайта. Управлять БД напрямую с сервера, на котором она расположена, не всегда удобно, иногда может потребоваться дистанционная работа. Чтобы обезопасить подключение к серверу и доступ к данным, используют сочетание SSH-туннеля и специальных программ: в Windows — PuTTY, в Linux — Терминала. Когда пользователь нуждается в интуитивно понятном интерфейсе, он может воспользоваться phpMyAdmin.

Время на прочтение
2 мин

Количество просмотров 29K

Материал статьи предназначен для начинающих, профессионалы Хабра в большинстве не нуждаются в изложении этого вопроса. Тем не менее, те, кто делает первые шаги в работе с MySQL часто задают подобные вопросы. Статья написан для тех, кто впервые столкнулся с необходимостью установить удаленное соединение с базой данных MySQL. В статье рассказывается о сложностях, которые могут возникнуть при настройке удаленного соединения и о методах их преодоления.

Как установить соединение с удаленной базой?

Для установления удаленного соединения нужно указать параметры, характеризующие устанавливаемое подключение. Это

  • —host
  • —protocol
  • —port

Из четырех возможных протоколов удаленное подключение позволяет только TCP/IP, поэтому первым требованием является доступность компьютера из сети по TCP/IP.
Далее необходимо добавить имя хоста (или ip адрес машины, на которой расположена база) в строке подключения:
mysql —host=host_name
Обратите внимание, что указание в качестве имени хоста значения localhost (или же отсутствие такого параметра, что то же самое, так как это дефолтное значение) приводит к обращению на локальную машину.

Учтите, что параметры имеют две формы записи: длинную и короткую. В свою очередь, если параметр имеет значение (как например, в случае хоста необходимо указать имя хоста к которому нужно подключиться), то короткая форма записи может использоваться с пробелом или без (исключением из этого правила является пароль).
Таким образом, следующие три записи являются эквивалентными:

  • mysql —host=myhost.ru
  • mysql -h myhost.ru
  • mysql -hmyhost.ru

Как настроить соединение с удаленной базой?

В MySQL пользователь характеризуется двумя параметрами: именем и хостом, с которого он может обращаться. По умолчанию доступ разрешен только с локальной машины, т.е. для пользователя user@localhost. Права на доступ пользователям даются с помощью команды GRANT. Команда выполняется под рутом.

Например, если я хочу создать юзера, который сможет коннектиться с любого хоста с полными правами, то следует выполнить следующую команду:
GRANT ALL PRIVILEGES ON `имя_базы`.* TO myuser@% IDENTIFIED BY ‘пароль’;

Примечание. Обратите внимание, что данная команда дает доступ пользователю myuser со всех IP кроме 127.0.0.1, соответсвующего localhost.
Для пользователя myuser@localhost необходимо давать права отдельной командой GRANT.

Если вы решите обратиться к локальной машине как к удаленной, используя протокол TCP/IP, то не забывайте, что myuser@localhost и myuser@ip_собственного_компа это разные пользователи и каждому из них права нужно давать отдельной командой.

Второй пример показывает как дать право читать таблицу time_zone в базе mysql пользователю myuser с машины 192.168.0.76
с паролем mypassy:
GRANT SELECT ON mysql.time_zone TO myuser@192.168.0.76 IDENTIFIED BY ‘mypassy’;

Возникающие сложности

Если после всех действий у вас возникает ошибка
(Can’t connect to Mysql Server on ‘ваш IP'(10061)),
значит соединение блокирует firewall (windows firewall, outpost, антивирус или еще что-то).

Если возникает ошибка
(Client does not support autentification protocol request by server; consider upgrading MySQL client), клиент (то есть ваша программа) не поддерживает требуемый сервером протокол.
Эту ошибку можно исправить, установив пароль старого формата:
SET PASSWORD FOR user@host = OLD_PASSWORD(‘password’);

Кросспост Настройка удаленного подключения к MySQL с Webew.

  • Чем открыть rpm файл в windows
  • Чем отличается windows 10 домашняя от windows 10 домашняя для одного языка
  • Чем поделить диск на windows 10
  • Чем открыть файл jar в windows 10
  • Чем отличается лицензионная windows 10 от нелицензионной