Как подключиться к базе данных sql server удаленно
Для удаленного подключения к БД на Windows хостинге Вы можете использовать внешние клиентские приложения, например SQL management studio, Visual Studio или HeidiSQL Для того чтобы подключиться удаленно Вам необходимо знать IP вашего сервера, его необходимо посмотреть в письме которое вы получили при оформлении хостинга либо в панели управления. Далее откройте клинское приложение и введите следующие данные:
IP
(в данном случае): 178.89.186.221
Порт БД:
Для MSSQLSERVER2016 1433 Для MSSQLSERVER2017 1434 Логин и пароль Подключиться.
Пример настроек для sql management studio:
Строка для подключения: MSSQLSERVER2016: 178.89.186.221, 1433 Строка для подключения: MSSQLSERVER2017: 178.89.186.221, 1434
Пример настроек для Visual Studio 2019:
Строка для подключения: MSSQLSERVER2016:
"ConnectionString": "Server=178.89.186.221, 1433;Database=xxxx;User Строка для подключения: MSSQLSERVER2017:
"ConnectionString": "Server=178.89.186.221, 1434;Database=xxxx;User
IP из примера 178.89.186.221 — заменить на ваш актуальный .
Ввести личные данные для авторизации к БД и нажать подключиться.
Как удаленно подключиться к базе данных
В статье мы расскажем о том, как удаленно подключиться к базе данных на хостинге.
Как включить удаленный доступ к базе данных
Авторизуйтесь в панели управления хостингом. Затем выберите инструкцию в зависимости от вашей панели управления.
Ispmanager
Перейдите в раздел Базы данных. Затем кликните по строке с именем базы данных и выберите Пользователи:
Кликните по строке с именем пользователя и нажмите Изменить:
Отметьте галочкой пункт Удалённый доступ. По необходимости укажите список хостов, с которых можно подключиться к БД. Если нужно разрешить доступ со всех хостов, оставьте поле Список хостов пустым. Затем нажмите Ok:
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
Разверните блок Базы данных и выберите Удаленный MySQL:
В поле Хост укажите адрес, с которого нужно подключиться к базе данных. Если вам нужно указать диапазон IP, используйте знак % при вводе адреса. Затем нажмите Добавить хост:
В панели Plesk удаленный доступ к базам данных включен по умолчанию. Дополнительные настройки не нужны.
Какие данные нужны для удаленного подключения
Для подключения к базе данных потребуется:
- Server/Hostname (сервер баз данных) — имя сервера, к которому привязана БД;
- Port (порт) 3306 — стандартный порт для подключения к БД;
- Database (база данных) — имя базы данных, к которой нужно подключиться. Оно имеет вид u1234567_database, где:
- u1234567 — логин услуги хостинга,
- database — имя, которое вы указывали при создании БД.
- u1234567 — логин услуги хостинга,
- username — имя, которое вы указывали при создании пользователя.
Как удаленно подключиться к базе данных
Для подключения к базе данных используется программа mysql. Для её запуска выполните команду:
mysql -p3306 -hserverX.hosting.reg.ru -uu1234567_default -pPASSWORD
- serverX.hosting.reg.ru — имя сервера, на котором расположена ваша услуга хостинга;
- u1234567_default — имя пользователя базы данных, к которой вы подключаетесь;
- PASSWORD — пароль пользователя базы данных.
Готово, вы подключились к базе данных.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь
Удаленное подключение к MySQL
По умолчанию подключиться к MySQL можно только с того же хоста. Чтобы получить доступ к серверу с другого IP-адреса, нужно настроить удалённое подключение.
Внимание! После ручной правки конфигураций MySQL — my.cnf требуется перезапустить сервер MySQL. ISPmanager5 — Службы — MySQL/MariaDB — Рестарт или в консоли сервера:
systemctl restart mysql systemctl restart mariadb
- Удалённое подключение к MySQL в ISPmanager 6
- Удалённое подключение к MySQL в консоли
Создание удалённого подключения в ISPmanager 6
В панели ISPmanager — раздел Настройки — Серверы баз данных выделите сервер MySQL и нажмите кнопку Изменить .
В открывшемся окне поставьте галочку Удаленный доступ . В поле IP-адрес выберите IP, по которому будет доступно подключение.
В панелях с версией ниже 5.95 опции Удаленный доступ нет. Необходимо выполнить настройки вручную. В конфигурационном файле /etc/my.cnf ( /etc/mysql/my.cnf для Debian) должна отсутствовать строка skip-networking , если она присутствует — следует её закомментировать:
#skip-networking
Также следует добавить/изменить:
bind-address = IP_сервера
Для удалённого подключения к базам данных требуется при создании базы отметить Удалённый доступ .
Если при создании базы вы не выбрали данную опцию, её можно указать в Управлении пользователями баз данных . Для этого перейдите в раздел Инструменты — Базы данных — выделите нужную базу — нажмите кнопку Пользователи — затем кнопку Изменить .
Пустое поле списка IP-адресов делает возможным подключение с любого IP.
Создание удалённого подключения в консоли
В конфигурационном файле /etc/my.cnf ( /etc/mysql/my.cnf для Debian) должна отсутствовать строка skip-networking , если она присутствует — следует её закомментировать:
#skip-networking
Также следует добавить/изменить:
bind-address = IP_сервера
Подключитесь к сервер MySQL суперпользователем:
mysql -u root -p
Далее создайте пользователя, например, dbuser (если вместо % указать localhost, авторизация будет возможна только с текущего сервера):
create user 'dbuser'@'%' identified by 'password'
Можно проверить, что мы создали, командой, выводящей всех пользователей с их хостом и паролем:
select user,host,password from mysql.user;
Создайте базу, например, testdb :
create database testdb;
Предоставление прав пользователю
Права, назначенные пользователю, определяют, какие действия он сможет выполнять с базой данных. Можно назначать несколько привилегий одному пользователю.
Наиболее часто назначаемые права:
- ALL PRIVILEGES — пользователю предоставляется полный доступ к базе данных.
- CREATE — пользователю разрешено создавать базы данных и таблицы.
- DROP — пользователю разрешено удалять базы данных и таблицы.
- DELETE — пользователю разрешено удалять строки из определенной таблицы.
- INSERT — пользователю разрешено вставлять строки в определенную таблицы.
- SELECT — пользователю разрешено читать базу данных.
- UPDATE — пользователю разрешено обновлять строки таблицы.
- GRANT OPTION — пользователю разрешено изменять права других пользователей.
Назначить привилегии пользователю можно, используя синтаксис:
GRANT permission ON database.table TO 'username'@'%';
где permission — вид предоставляемой привилегии.
Например, установите полные права на базу testdb пользователю dbuser :
GRANT ALL PRIVILEGES ON testdb.* TO 'dbuser'@'%';
Предоставить права на вставку:
GRANT INSERT ON *.* TO 'dbuser'@'%';
Предоставить несколько привилегий пользователю:
GRANT SELECT, INSERT, DELETE ON testdb.* TO 'dbuser'@'%';
Можно ограничить права пользователя на добавление данных в определенной базе, указав её перед точкой. Для ограничения прав на доступ к определенной таблице укажите нужную таблицу после точки:
GRANT INSERT *database_name.table_name* TO 'dbuser'@'%';
Отозвать все привилегии пользователя:
REVOKE ALL PRIVILEGES ON testdb.* FROM 'dbuser'@'%';
Посмотреть текущие привилегии пользователя:
SHOW GRANTS FOR 'dbuser'@'%';
DROP USER 'dbuser'@'%';
После завершения настройки прав необходимо перезагрузить привилегии:
Удаленное подключение к внешним базам данных из личного кабинета — MySQL, PostgreSQL
Работа с внешней БД из MS Sql Server на примере MySQL.
Решение продемонстрировано на демостенде Подключение к MySQL
Данная возможность позволяет управлять данными из кабинетов Falcon Space не только из базы данных SQL Server, но и из других СУБД. Здесь мы рассмотрим пример для MySQL.
На данный момент подключение к внешним базам, отличным от MS Sql Server, доступно только в Windows версии SQL Server (реализуется на VPS Windows Server, на Win хостинге работать не будет).
Отличие использования от стандартного использования будет только в написании SQL запросов (будет задействована возможность openquery).
Настройка коннектора
На сервере устанавливаем ODBC коннектор MySQL: https://www.mysql.com/products/connector/
Запускаем команду odbcad32 (win+r => odbcad32)
Заходим во вкладку System DSN, нажимаем Add
Примечание. Для Postgree выбираем Pastgree Unicode x64.
Заполняем настройки сервера
Этот Data Source Name нам понадобится дальше
Проверяем соединение кнопкой Test. Сохраняем настройки.
Добавление удаленного сервера в SQL Server
Заходим в Server Objects/Linked Servers, в меню выбираем New Linked Server
Выбираем Other data source и Provider для ODBC, в Data Source вписываем Data Source Name из настроек коннектора
В разделе Security добавляем пользователей, которые могут пользоваться этим сервером, и для них указываем удаленные логин/пароль:
Чтобы не было ошибки при создании, добавьте текущего пользователя (локального администратора сервера).
В Server Options включаем RPC и RPC out, иначе не все типы запросов будут отрабатывать
Сохраняем настройки
Примеры SQL запросов
Создание таблицы
exec ('CREATE TABLE RemotelyCreatedTable (id int, data1 nvarchar(100), data2 nvarchar(100) )') at [MYSQL];
INSERT
insert into openquery(MYSQL, 'select * from RemotelyCreatedTable') values (1, 'test1', 'test1'), (2, 'test2', 'test2') -- in falcon declare @id int select @id = id from openquery(MYSQL1, 'select id from RemotelyCreatedTable order by id desc limit 1') set @id = isnull(@id, 0) + 1 insert into openquery(MYSQL1, 'select * from RemotelyCreatedTable') values (@id, @text, @text)
SELECT
select * from openquery(MYSQL, 'select * from RemotelyCreatedTable') -- for falcon declare @result TABLE( id nvarchar(max), p1 nvarchar(max), p2 nvarchar(max) ) INSERT INTO @result select * from openquery(MYSQL1, 'select * from RemotelyCreatedTable')
UPDATE
update openquery(MYSQL1, 'select data1 from RemotelyCreatedTable where data1='new_valueXXXX' -- Вариант в Falcon declare @sql nvarchar(max) = '' set @sql = ' update openquery(MYSQL1, ''select data1 from RemotelyCreatedTable where '+cast(@itemID as nvarchar)+''' ) set data1='''+@value+''' where data1 <> '''+@value+''' ' EXEC (@sql)
DELETE
exec('delete from remotelyCreatedTable where @itemID) at MYSQL1
Примечание: MYSQL1 в примерах — это Linked Server, подключенный через MS Management Studio.
Возможные проблемы
Ошибка «OLE DB provider “MSDASQL” for linked server “[name]” was unable to begin a distributed transaction«
Необходимо отключить использование транзакций в Falcon Space (в настройках appsettings.json (в MVC версии — в web.config в App Settings) добавляем ключ disableTransactions: «1», в MVC версии key=»disableTransactions» value=»1″).
Ошибка при обновлении поля (Update) в СУБД MySQL
MySQL выдает ошибку при попытке сохранить поле, значение которого совпадает с новым значением. Поэтому используйте подобную конструкцию:
update openquery(mysql, 'select * from remotelyCreatedTable where data1='1' where data1 <> '1'
При этом в настройках Linked Server / Server Options / Enable prpmotion of Distributed transactions for RPC = true
Falcon Space — функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- ВозможностиЛокализация сайта. Перевод интерфейса сайта на языкиГеолокация, определение местоположения пользователя на картеБезопасность данных сайта и разграничение доступаАдаптивные PWA приложения с установкой значка на экран телефона. Отправка push уведомленийПеретаскивание элементов на странице (Drag-and-Drop)Копирование текста в буфер обменаУдаленное подключение к внешним базам данных из личного кабинета — MySQL, PostgreSQL
- Коммуникация с пользователем
- Дизайн, стилизация
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем