- Чтение данных SQL Server через интернет
- Прямой доступ к серверу SQL Server
- Подключение через TCP/IP
- Подключение к SQL через Internet
- Как удаленно подключиться к MySQL
- Подключение через панель управления TimeWeb
- phpMyAdmin
- Соединение через SSH туннель
- Подключение в Windows
- Подключение в Linux
- Как проверить соединение с базой данных MySQL
Чтение данных SQL Server через интернет
Аннотация: Прочитав эту лекцию, вы сможете: безопасно подключиться к серверу SQL Server из внешней сети с использованием протокола передачи данных TCP/IP, безопасно подключиться к серверу SQL Server из внешней сети с использованием протокола передачи данных HTTP, безопасным способом обратиться к данным, хранящимся в базе данных SQL Server с удаленного компьютера, не демонстрируя пользователям внешней сети SQL Server
Приложения могут нуждаться в доступе к серверу SQL Server через интернет по многим причинам. Например, клиентское приложение , выполняющееся на удаленном компьютере за пределами локальной сети, может обращаться к серверу SQL Server через интернет . Приложение , написанное для другой платформы и не имеющее поддержки поставщиков ODBC или OLE DB, может использовать HTTP как канал для связи с SQL Server .
В зависимости от сетевого протокола, используемого вызывающим приложением, можно при желании открыть доступ к серверу SQL Server либо через протокол TCP/IP , либо через протокол HTTP . Оба подхода настраиваются в SQL Server особым образом, причем возможности, предоставляемые вызывающему приложению каждым из этих подходов, не одинаковы.
Если вы открываете доступ к SQL Server из внешних сетей, следует проявить особенную осторожность в решении вопроса о том, какие ресурсы и функциональные возможности сделать доступными для внешних вызывающих модулей; кроме того, необходимо реализовать инфраструктуру обеспечения безопасности, чтобы не подвергать систему баз данных риску нарушения безопасности.
Еще один подход заключается в предоставлении доступа через компонент среднего уровня, который прослушивает нужный сетевой порт и перенаправляет вызовы серверу SQL Server ; при этом сервер остается закрытым для доступа из внешних сетей, тем самым риск компрометации базы данных уменьшается.
Прямой доступ к серверу SQL Server
Чтобы предоставить прямой доступ к серверу SQL Server из внешней сети, сначала нужно решить, какой протокол передачи данных клиентское приложение будет использовать для связи с сервером. В этом разделе мы сконцентрируемся на следующих моментах:
- Создании собственного соединения SQL Server через TCP/IP
- Вызовах SQL Server через конечную точку HTTP
Реализуя любой из этих двух подходов, следует не забывать о требованиях безопасности.
Подключение через TCP/IP
При использовании протокола TCP/IP SQL Server реализует собственный протокол передачи данных, который называется Tabular Data Stream, TDS (Протокол передачи табличных данных). Клиентское приложение должно использовать совместимый поставщик (ODBC, OLE DB или SQLNCLI), чтобы трансформировать свои запросы в формат TDS .
На рис. 5.1 показана минимальная рекомендуемая физическая инфраструктура, необходимая для того, чтобы обеспечить доступность SQL Server по протоколу TCP/IP через интернет.
Рис. 5.1. Физическая инфраструктура, необходимая для обеспечения доступа к серверу SQL Server по протоколу TCP/IP через интернет
Межсетевой экран ограничивает доступ к внутренней сети, перенаправляя только те запросы, которые предназначены конкретным TCP/IP-адресам локальной сети. Это означает, что:
- Клиентское приложение должно знать TCP/IP-адрес и сетевой порт, которые прослушивает SQL Server.
- Межсетевой экран должен быть сконфигурирован таким образом, чтобы разрешать доступ к определенным TCP/IP-адресам, прослушиваемым SQL Server.
Устанавливаем соединение с сервером SQL Server по протоколу TCP/IP через интернет
- Убедитесь, что на сервере SQL Server включен протокол передачи данных TCP/IP.
- Сконфигурируйте экземпляр SQL Server на прослушивание определенных IP-адресов.
- Сообщите клиентскому приложению точный IP-адрес и порт, которые прослушивает сервер SQL Server, откройте соединение со стороны клиентского приложения и выполните запросы.
Эти действия детализируются в следующих разделах данной лекции.
Проверяем, включен ли протокол TCP/IP на сервере SQL Server
SQL Server обеспечивает поддержку нескольких протоколов передачи данных. Чтобы проверить, включен ли протокол TCP/IP, выполните следующие действия:
- В меню Start (Пуск) выберите All Programs,. Microsoft SQL Server 2005, Configuration Tools , SQL Server Configuration Manager. (Все программы, Microsoft SQL Server 2005, Средства настройки, Диспетчер конфигурации SQL Server). Окно Диспетчера конфигурации SQL Server показано на следующем рисунке:
Подключение к SQL через Internet
Есть Сервер 1С, есть сервер SQL два компа в разных городах. Есть возможность организовать базу 1С со ссылкой на SQL сервер?
В идеале хотелось бы иметь на выходе установленные клиенты в сети 1С Сервера а сама база СКуЛь далеко в Интернете.
у. а как такой СКуЛь в мир вывести?
Там есть статический АЙПи, на я могу только через удаленный стол туда подключаться. При попытке прописать базу — ошибка подключения. И действительно, где то же надо не только пользователя БД (sa), а ещё и пользователя сервера задавать.
Назначение ядру СУБД SQL Server порта TCP/IP
На панели консоли диспетчера конфигурации SQL Server раскройте папку Сетевая конфигурация SQL Server, разверните Протоколы для и дважды щелкните TCP/IP.
В диалоговом окне Свойства TCP/IP, на вкладке IP-адреса появится несколько IP-адресов в формате IP1, IP2 до IPAll. Одним из приведенных IP-адресов является адрес адаптера заглушки 127.0.0.1. Для каждого IP-адреса на компьютере появляются дополнительные IP-адреса. Чтобы определить настраиваемый IP-адрес, щелкните правой кнопкой мыши каждый адрес и выберите пункт Свойства.
Если в диалоговом окне Динамические порты TCP содержится значение 0, означающее прослушивание компонентом Database Engine динамических портов, удалите его.
В области окна Свойства IPn в поле Порт TCP введите номер порта, который необходимо прослушивать по данному IP-адресу и нажмите кнопку ОК.
На панели консоли выберите Службы SQL Server 2005.
На панели сведений щелкните правой кнопкой мыши пункт SQL Server () и выберите команду Перезапустить, чтобы остановить и вновь запустить SQL Server.
После настройки SQL Server на прослушивание определенного порта установить соединение с ним с помощью клиентского приложения можно тремя способами:
Запустите службу браузера SQL Server на сервере для подключения к экземпляру компонента Database Engine по имени.
Создайте псевдоним на клиенте, указав номер порта.
Запрограммируйте клиент для подключения с помощью пользовательской строки соединения.
(5) можно. Но конфигурация под толстым вся написана. пока 🙂
Сейчас надо толстый клиент запустить в разных сетях.
Как удаленно подключиться к MySQL
Подключаться к базам данных можно разными способами. Подключение, устанавливаемое с сервера, называется локальным. С помощью такого типа подключения можно работать с домашнего компьютера, при этом используя любые удобные приложения по управлению базами данных.
Я расскажу, как подключиться к удаленной базе данных MySQL, какие существуют способы, а также опишу некоторые типичные ошибки.
Подключение через панель управления TimeWeb
Чтобы подключиться удаленно к MySQL, необходимо для начала открыть сайт хостинга и авторизоваться в личном кабинете. В панели управления следует выбрать раздел «Базы данных MySQL», через него и будем проводить операции. В новом открывшемся окне находим ссылку «Добавить доступ» напротив того сервера, к которому планируется подключиться. Для разрешения доступа к подсети /24 меняем последний актет IP-адреса на знак %.
При установлении соединения используем имя сервера или его IP-адрес. Данная информация доступна на главной странице в разделе «Информация о сервере». Порт указываем 3306, имя пользователя будет тем же, что и название базы данных. Вводим пароль и устанавливаем соединение.
phpMyAdmin
phpMyAdmin – программное средство, предоставляющее веб-интерфейс для работы с сервером MySQL. Подключиться к базе можно, открыв раздел «Базы данных MySQL» в панели управления хостингом. Находим на странице ссылку «phpMyAdmin» и жмем по ней для подключения. Если она недоступна, значит, пользователем был превышен лимит доступных БД. Увеличить его можно сменой тарифа.
Входим в данный раздел, вбиваем все данные и подключаемся.
Соединение через SSH туннель
Данный тип подключения считается более безопасным, потому что все данные по SSH-туннелю передаются в зашифрованном виде, исключая возможность перехвата.
Подключение в Windows
В данной ОС соединение по SSH протоколу можно осуществить с помощью специальных программ для управления базами данных. Например, PuTTY (бесплатная программа) или SecureCRT (платное ПО, но с пробной версией на 30 дней).
Мы для работы выбрали PuTTY. Скачиваем установщик с официального сайта и устанавливаем приложение . Запускаем программу, затем переходим в раздел «Session». В поле «Host Name» вводим свой домен или указываем его IP-адрес.
Далее переходим в категорию «Connection», открываем вкладку «SSH», затем «Tunnels». В поле «Source Port» указываем значение 3306, в «Destination» вбиваем localhost:3306, потом жмем на кнопку «Add» для добавления порта в список. И только потом жмем кнопку «Open» для установления соединения с хостом.
Логин и пароль те же самые, которые используются для входа в панель управления. При подключении используем имя пользователя и пароль, выданные при создании базы данных. Адрес сервера — 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
Как проверить соединение с базой данных MySQL
Для проверки подключения к базе данных MySQL во всех ОС используем утилиту telnet. Нужно просто открыть командную строку и набрать в ней вот такую команду:
telnet 127.0.0.1 3306
Если соединение установится, то настройка туннеля прошла успешно, можно приступать к подключению. Если нет, рекомендуем тщательно проверить все настройки.