Как удаленно подключиться к MySQL – База знаний Timeweb Community
Подключаться к базам данных можно разными способами. Подключение, устанавливаемое с сервера, называется локальным. С помощью такого типа подключения можно работать с домашнего компьютера, при этом используя любые удобные приложения по управлению базами данных.
Я расскажу, как подключиться к удаленной базе данных MySQL, какие существуют способы, а также опишу некоторые типичные ошибки.
Подключение через панель управления TimeWebЧтобы подключиться удаленно к MySQL, необходимо для начала открыть сайт хостинга и авторизоваться в личном кабинете. В панели управления следует выбрать раздел «Базы данных MySQL», через него и будем проводить операции. В новом открывшемся окне находим ссылку «Добавить доступ» напротив того сервера, к которому планируется подключиться. Для разрешения доступа к подсети /24 меняем последний актет IP-адреса на знак %.
При установлении соединения используем имя сервера или его IP-адрес. Данная информация доступна на главной странице в разделе «Информация о сервере». Порт указываем 3306, имя пользователя будет тем же, что и название базы данных. Вводим пароль и устанавливаем соединение.
phpMyAdminphpMyAdmin – программное средство, предоставляющее веб-интерфейс для работы с сервером MySQL. Подключиться к базе можно, открыв раздел «Базы данных MySQL» в панели управления хостингом. Находим на странице ссылку «phpMyAdmin» и жмем по ней для подключения. Если она недоступна, значит, пользователем был превышен лимит доступных БД. Увеличить его можно сменой тарифа.
Входим в данный раздел, вбиваем все данные и подключаемся.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Соединение через 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 127.0.0.1 3306
Если соединение установится, то настройка туннеля прошла успешно, можно приступать к подключению. Если нет, рекомендуем тщательно проверить все настройки.
Читайте также
Распространенные проблемы и ошибки при подключении к 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»
В случае, когда выходит сообщение «ERROR 1130 (HY000): Host ‘10.8.0.5’ is not allowed to connect to this MySQL server», указывается отсутствие прав доступа к удаленному серверу у пользователя.
Ошибка «1045 невозможно подключиться к серверу MySQL» возникает при попытке подключиться удаленно к базам данных через phpMyAdmin. Причиной тому может быть неправильно введенный логин или же отсутствие пароля у пользователя или его неправильная смена.
ЗаключениеMySQL – один из самых популярных серверов баз данных с открытым исходным кодом. Подключиться к нему можно разными способами, причем как локально, так и удаленно. Если в процессе соединения возникают нетипичные ошибки, рекомендуем связаться со службой технической поддержки.
Подключение к MySQL (MySQLToSQL) — SQL Server
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 3 мин
Чтобы перенести базы данных MySQL в SQL Server или SQL Azure, необходимо подключиться к базе данных MySQL, которую требуется перенести. При подключении SSMA получает метаданные обо всех схемах MySQL, а затем отображает его в области обозревателя метаданных MySQL. SSMA хранит сведения о сервере базы данных, но не хранит пароли.
Подключение к базе данных остается активным, пока не закроете проект. При повторном открытии проекта необходимо повторно подключиться, если требуется активное подключение к базе данных.
Метаданные базы данных MySQL не обновляются автоматически. Вместо этого, если вы хотите обновить метаданные в обозревателе метаданных MySQL, его необходимо обновить вручную. Дополнительные сведения см. в разделе «Обновление метаданных MySQL» далее в этом разделе.
Необходимые разрешения MySQL
Учетная запись, используемая для подключения к базе данных MySQL, должна иметь по крайней мере разрешения CONNECT . Это позволяет SSMA получать метаданные из схем, принадлежащих подключаемого пользователя. Чтобы получить метаданные для объектов в других схемах, а затем преобразовать объекты в этих схемах, учетная запись должна иметь следующие разрешения:
Привилегии SHOW для объектов базы данных
Привилегия SELECT для «Information_schema»
Привилегия SELECT для mysql (для определяемых пользователем функций)
Установка подключения к MySQL
При подключении к базе данных SSMA считывает метаданные базы данных, а затем добавляет эти метаданные в файл проекта. Эти метаданные используются SSMA при преобразовании объектов в синтаксис SQL Server или SQL Azure, а также при переносе данных в SQL Server или SQL Azure. Эти метаданные можно просмотреть на панели обозревателя метаданных MySQL и просмотреть свойства отдельных объектов базы данных.
Важно!
Прежде чем пытаться подключиться, убедитесь, что сервер базы данных запущен и может принимать подключения.
Подключение к MySQL
В меню «Файл» выберите Подключение в MySQL (этот параметр будет включен после создания проекта).
Если вы ранее подключились к MySQL, имя команды будет повторно подключено к MySQL.
В поле «Поставщик» выберите драйвер MySQL ODBC 5.1 (доверенный). Это поставщик по умолчанию в стандартном режиме.
В окне «Режим» выберите «Стандартный».
Используйте стандартный режим, чтобы указать имя сервера и порт.
В стандартном режиме укажите следующие значения:
В поле «Имя сервера» введите имя сервера MySQL. В поле «Порт сервера» введите номер порта 3306. Это порт по умолчанию.
В поле «Имя пользователя» введите учетную запись MySQL с необходимыми разрешениями.
В поле «Пароль» введите пароль для указанного имени пользователя.
SSL:
Если вы хотите безопасно подключиться к MySQL, используйте протокол SSL, установив флажок SSL .Настроить: Он предоставляет возможность настроить подключение к MySQL с помощью протокола SSL.
Примечание
Чтобы включить настройку, ssl должен иметь значение True.
При нажатии кнопки «Настроить» появится диалоговое окно. Чтобы использовать шифрование при подключении к базе данных MySQL, необходимо определить путь к следующим трем файлам сертификатов, присутствующих в диалоговом окне [Сертификаты расширенной почты конфиденциальности (PEM)]:
Центр SSL-сертификатов: Указывает путь к файлу со списком доверенных сертификатов SSL.
SSL-сертификат: Указывает имя ФАЙЛА SSL-сертификата, используемого для установления безопасного подключения.
SSL-ключ: Указывает имя SSL-файла ключа, используемого для установления безопасного подключения.
Примечание
- Кнопка «ОК » включена при указании необходимых сведений. Если какие-либо пути к файлу недопустимы, кнопка «ОК» останется отключенной.
- Кнопка «Отмена» закрывает диалоговое окно и отключает параметр SSL из основной формы подключения.
Дополнительные сведения см. в разделе Подключение в MySQL (MySQLToSQL)
Повторное подключение к MySQL
Подключение к серверу базы данных остается активным, пока не закроете проект. При повторном открытии проекта необходимо повторно подключиться, если требуется активное подключение к базе данных. Вы можете работать в автономном режиме, пока вы не хотите обновлять метаданные, загружать объекты базы данных в SQL Server или SQL Azure и переносить данные.
Обновление метаданных MySQL
Метаданные о базе данных MySQL не обновляются автоматически. Метаданные в обозревателе метаданных MySQL — это моментальный снимок метаданных при первом подключении или при последнем обновлении метаданных вручную. Вы можете вручную обновить метаданные для всех схем, одной схемы или отдельных объектов базы данных.
Обновление метаданных
Убедитесь, что вы подключены к базе данных.
В обозревателе метаданных MySQL установите флажок рядом с каждой схемой или объектом базы данных, которые требуется обновить.
Щелкните правой кнопкой мыши схемы или отдельный объект схемы или базы данных, а затем выберите «Обновить из базы данных«.
Если у вас нет активного подключения, SSMA отобразит диалоговое окно Подключение в MySQL, чтобы можно было подключиться.
В диалоговом окне «Обновить из базы данных» укажите, какие объекты следует обновить.
Чтобы обновить объект, щелкните активное поле рядом с объектом, пока не появится стрелка.
Чтобы предотвратить обновление объекта, щелкните активное поле рядом с объектом, пока не появится X .
Чтобы обновить или отклонить категорию объектов, щелкните активное поле рядом с папкой категории.
Чтобы просмотреть определения цветового кодирования, нажмите кнопку условных обозначений .
Нажмите кнопку ОК.
Следующий шаг
Следующий шаг процесса миграции — подключение к SQL Server (MySQLToSQL)
См. также:
Перенос баз данных MySQL в SQL Server — База данных SQL Azure (MySQLToSql)
Подключение к источнику данных MySQL (мастер импорта и экспорта SQL Server) — SQL Server Integration Services (SSIS)
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Область применения: SQL Server (все поддерживаемые версии) SSIS Integration Runtime в Фабрике данных Azure
В этом разделе показано, как подключаться к источникам данных MySQL со страницы Выбор источника данных или Выбор назначения в мастере импорта и экспорта SQL Server. Для подключения к MySQL можно использовать ряд поставщиков данных.
Важно!
Подробные требования и необходимые условия для подключения к базе данных MySQL выходят за рамки этой статьи Майкрософт. В ней предполагается, что у вас уже установлено клиентское программное обеспечение MySQL и вы можете успешно подключиться к целевой базе данных MySQL. Для получения дополнительных сведений обратитесь к администратору базы данных MySQL или к документации по MySQL.
Получение соединителей MySQL
Скачайте поставщики и драйверы, описанные в этом разделе, на странице Соединители MySQL.
Подключение к MySQL с помощью поставщика данных платформы .NET Framework для MySQL
После выбора элемента Поставщик данных .NET Framework для MySQL на странице Выбор источника данных или Выбор назначения мастера появится сгруппированный список параметров для поставщика. Многие из них могут быть вам незнакомы или иметь непонятные имена. Однако вам достаточно указать лишь несколько параметров. Остальные параметры можно пропустить.
Примечание
Параметры подключения для этого поставщика данных одинаковы независимо от того, является ли MySQL источником или назначением. Таким образом, на страницах Выбор источника данных и Выбор назначения мастера отображаются одинаковые параметры.
Необходимые сведения | Поставщик данных .NET Framework для свойства MySQL |
---|---|
Имя сервера | Server |
Имя базы данных | База данных |
Сведения для проверки подлинности (имя входа) | Идентификатор пользователя и пароль |
Вам не нужно вводить строку подключения в поле ConnectionString списка. После ввода отдельных значений для имени сервера MySQL (сервера) и информации для входа мастер собирает строку подключения из отдельных свойств и их значений.
Подключение к MySQL с помощью драйвера ODBC для MySQL
Драйверы ODBC не приводятся в раскрывающемся списке источников данных. Чтобы подключиться с помощью драйвера ODBC, сначала выберите поставщик данных .NET Framework для ODBC в качестве источника данных на странице Выбор источника данных или Выбор назначения. Этот поставщик служит оболочкой для драйвера ODBC.
Ниже показан экран, который появляется сразу после выбора поставщика данных .NET Framework для ODBC.
Указываемые параметры (драйвер ODBC для MySQL)
Примечание
Параметры подключения для этого поставщика данных и драйвера ODBC одинаковы независимо от того, является ли сервер MySQL источником или назначением. Таким образом, на страницах Выбор источника данных и Выбор назначения мастера отображаются одинаковые параметры.
Чтобы подключиться к MySQL с помощью драйвера ODBC для MySQL, соберите строку подключения, используя указанные ниже параметры и их значения. Полный формат строки подключения приведен после списка параметров.
Совет
Вы можете получить помощь в построении строки подключения. Кроме того, вместо указания строки подключения вы можете предоставить существующее имя DSN (имя источника данных) или создать новое. Дополнительные сведения об этих возможностях см. в разделе Подключение к источнику данных ODBC.
Драйвер
Имя драйвера ODBC.
Server
Имя сервера MySQL.
База данных
Имя базы данных MySQL.
UID и PWD
Идентификатор пользователя и пароль для подключения.
Формат строки подключения
Ниже приведен формат типичной строки подключения.
Driver={MySQL ODBC 5.3 Unicode Driver};Server=<server>;Database=<database>;UID=<user id>;PWD=<password>
Ввод строки подключения
Введите строку подключения в поле ConnectionString либо введите имя DSN в поле Dsn на странице Выбор источника данных или Выбор назначения. После того как вы введете строку подключения, мастер проанализирует ее и отобразит отдельные свойства и их значения в списке.
В приведенном ниже примере используется следующая строка подключения:
Driver={MySQL ODBC 5.3 Unicode Driver};Server=127.0.0.1;Database=world;UID=root;PWD=********
Ниже показан экран, который появляется после ввода строки подключения.
Сведения о подключении к MySQL с помощью поставщика данных, не представленного в этом списке, см. в разделе Строки подключения MySQL. Этот сторонний сайт также содержит дополнительные сведения о поставщиках данных и параметрах подключения, описанных на этой странице.
См. также раздел
Выбор источника данных
Выбор назначения
Удаленное подключение к MySQL | FirstVDS
По умолчанию подключиться к MySQL можно только с того же хоста. Чтобы получить доступ к серверу с другого IP-адреса, нужно настроить удалённое подключение.
Внимание! После ручной правки конфигураций MySQL — my.cnf требуется перезапустить сервер MySQL.
ISPmanager5 — Службы
— MySQL/MariaDB
— Рестарт
или в консоли сервера:
systemctl restart mysql systemctl restart mariadb
- Создание удалённого подключения в ISPmanager 6
- Создание удалённого подключения в консоли
Создание удалённого подключения в 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'@'%';
После завершения настройки прав необходимо перезагрузить привилегии:
FLUSH PRIVILEGES;
Этот материал был полезен?
Как настроить подключение к удаленной базе MySQL на облачном сервере
Облачные серверы нового поколения
Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 10 доступных ОС на выбор!
Выбрать тариф
По умолчанию на Облачных серверах удалённое подключение к базе данных MySQL отключено.
Настроить My SQL на Облачном сервере можно по инструкции ниже. Данная инструкция предназначена для серверов с установленным шаблоном LAMP/LEMP, но в некоторых случаях применима и для серверов, настроенных вручную.
Настройка сервера
Настройте подключение к серверу со всех сетевых интерфейсов, для этого:
- 1.
Подключитесь к вашему Облачному серверу по SSH.
- 2.
Откройте конфигурационный файл с помощью команды:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Закомментируйте строку:
bind-address = 127.0.0.1
И добавьте новую:
bind-address = 0.0.0.0
Затем сохраните файл:
- 3.
Чтобы изменения вступили в силу, перезапустите сервер базы данных с помощью команды:
systemctl restart mysql
Настройка базы данных MySQL
Вы можете настроить базу данных одним из двух представленных способов, на ваш выбор:
Через phpMyAdmin
- 1.
Авторизуйтесь в phpMyAdmin по адресу http://123.123.123.123/phpmyadmin/, где 123.123.123.123 — это IP-адрес вашего сервера.
Данные для авторизации в phpMyAdmin вы можете найти в письме, которое было отправлено на e-mail владельца услуги после создания сервера.
- 2.
Перейдите на страницу Учетные записи пользователей:
- 3.
На открывшейся странице нажмите Добавить учетную запись пользователя:
- 4.
Введите имя пользователя. В поле «Имя хоста» укажите IP-адрес или имя сервера, с которого будет доступна база. Затем сгенерируйте пароль. Если вы хотите, чтобы база была доступна с любого адреса, оставьте значение ‘%‘ в поле «Имя хоста»:
- 5.
Если ранее вы не создавали базу данных, то на этой странице поставьте галочку рядом с пунктом «Создать базу данных с таким же именем и предоставить на неё все привилегии». Нажмите кнопку Вперёд:
Если вы не создали базу данных для нового пользователя и хотите привязать существующую, то на открывшейся странице перейдите на вкладку «Базы данных», выберите из списка нужную базу, а затем нажмите Вперёд:
Укажите необходимые права или поставьте галочку напротив пункта «Отметить все», затем нажмите Вперёд:
Готово, теперь вы можете удалённо подключиться к базе данных под созданным пользователем.
Через подключение по SSH
Чтобы создать пользователя, для которого будет доступен удалённый доступ к базе данных:
- 1.
Подключитесь к серверу по SSH под root пользователем.
- 2.
Запустите MySQL клиент командой:
mysql
- 3.
Создайте базу данных командой:
CREATE DATABASE newdatabase;
где newdatabase — имя создаваемой базы данных.
- 4.
Создайте нового пользователя или измените права существующего для работы с созданной базой данных:
Создание нового пользователя
Чтобы создать нового пользователя, введите команду:
GRANT ALL PRIVILEGES ON `database`.* TO `username`@'123.123.123.123' IDENTIFIED BY 'password';
где:
- database — имя вашей базы;
- username — пользователь базы;
- 123.123.123.123 — IP-адрес, с которого разрешено получать доступ к базе. Если указать вместо адреса символ «%» , то доступ будет с любого адреса;
- password — ваш пароль.
Изменение прав доступа для существующего пользователя
Изменить права для существующего пользователя можно командой:
GRANT ALL PRIVILEGES ON `database`.* TO 'username'@'%' WITH GRANT OPTION;
где:
- database — имя вашей базы;
- username — пользователь базы;
- 123. 123.123.123 — IP-адрес, с которого разрешено получать доступ к базе. Если указать вместо адреса символ «%» , то доступ будет с любого адреса;
- password — ваш пароль.
- 5.
Проверьте правильность созданного пользователя с помощью команды:
select user,host from mysql.user;
Готово, теперь вы можете удалённо подключиться к базе данных под созданным пользователем.
Помогла ли вам статья?
Да
0 раз уже помогла
Как настроить и подключить базу данных MySQL в конфигурации Serverless | AWS
к Amazon Aurora Serverless
Изучив это учебное пособие, вы научитесь настраивать и подключать Amazon Aurora Serverless.
Amazon Aurora – это сервис реляционных баз данных версий, совместимых с MySQL и PostgreSQL, который обеспечивает эффективность и доступность баз данных для организаций с минимальными затратами. Aurora Serverless – это новая конфигурация с автомасштабированием по требованию для Aurora, которая теперь доступна для версии Aurora, совместимой с MySQL. Благодаря Aurora Serverless ваша база данных будет автоматически запускаться, закрываться и масштабироваться, увеличивая или уменьшая ресурсы в зависимости от потребностей приложения. Вы сможете воспользоваться такими преимуществами Aurora как высокий уровень доступности, масштабируемость и скорость, и вам не придется платить за ресурсы, которые вы не используете.
Как правило, в администрировании баз данных присутствует элемент угадывания: невозможно прогнозировать необходимость увеличения объема вычислительных ресурсов и размера хранилищ для приложений, и существуют определенные трудности в управлении переменными рабочими нагрузками, например в процессе разработки или тестирования баз данных, а также переноса значительного объема баз данных онлайн, – и при этом они используются нечасто. С появлением Aurora Serverless метод проб и ошибок остался в прошлом. Aurora Serverless увеличивает объемы хранилища и вычислительных ресурсов, когда это необходимо для работы приложения, и уменьшает эти объемы, когда потребности приложения снижаются. Плата за ресурсы БД начисляется на посекундной основе в периоды ее активного использования, при этом между конфигурациями Standard и Serverless можно переключаться за несколько щелчков мышью в Консоли управления AWS.
В ближайшие несколько минут вы создадите и настроите новый кластер БД Aurora Serverless. Для доступа к новому кластеру Aurora Serverless мы создадим среду Cloud9 и направим сетевой трафик к кластеру из среды Cloud9. Используя инструмент командной строки MySQL, установленный в среде Cloud9, мы выполним вход в кластер. И наконец, мы очистим и удалим среду Cloud9 и кластер БД Aurora Serverless.
Это учебное пособие не относится к уровню бесплатного пользования, но будет стоить вам менее 1 USD при условии выполнения указанных в учебном пособии шагов и удаления ресурсов по окончании его изучения.
Чтобы просмотреть учебное пособие, необходим аккаунт AWS
Создать бесплатный аккаунт
Это учебное пособие не относится к уровню бесплатного пользования. Оно будет стоить вам менее 1 USD при условии выполнения указанных в учебном пособии шагов и удаления ресурсов по окончании его изучения.
На этом этапе вы перейдете в консоль сервиса Relational Database Service (RDS) и создадите кластер БД Aurora Serverless.
a. Откройте Консоль управления AWS, оставив открытым данное пошаговое руководство. Когда стартовый экран загрузится, введите имя пользователя и пароль, чтобы начать работу. Затем начните вводить RDS в строке поиска и выберите RDS, чтобы открыть консоль сервиса.
Close
(Щелкните, чтобы увеличить изображение.)
Шаг 2. Создание кластера БД Aurora Serverless
На этом этапе вы будете использовать Amazon RDS для создания кластера БД Aurora Serverless.
a. На панели навигации в левой части экрана Amazon RDS выберите Clusters (Кластеры).
Close
(Щелкните, чтобы увеличить изображение. )
b. На экране RDS > Clusters (RDS > Кластеры) выберите Create database (Создать базу данных).
Close
(Щелкните, чтобы увеличить изображение.)
c. На экране Select engine (Выбрать ядро) выберите Amazon Aurora. Для переключателя Edition (Версия) выберите параметр MySQL 5.6-compatible (Совместимый с MySQL 5.6). На данный момент доступна только версия Aurora Serverless, совместимая с MySQL 5.6.
Нажмите Далее.
Close
(Щелкните, чтобы увеличить изображение.)
d. На экране Specify DB details (Указать сведения о БД) для типа параметра Capacity (Ресурсы) выберите переключатель Serverless.
На панели Setting (Настройка) в поле DB cluster identifier (Идентификатор кластера БД) введите MyClusterName.
В полях Master username (Главное имя пользователя) и Master password (Главный пароль) укажите значения по вашему выбору и сохраните имя пользователя и пароль для дальнейшего использования.
Close
(Щелкните, чтобы увеличить изображение.)
e. На странице Configure advanced settings (Настройка дополнительных параметров) на панели Capacity setting (Настройка ресурсов) можно изменить минимальное и максимальное значение единицы ресурсов Aurora.
Каждая единица ресурсов Aurora соответствует конкретной конфигурации вычислительных ресурсов и ресурсов памяти. Aurora Serverless автоматически масштабирует объем ресурсов между минимальным и максимальным значениями в зависимости от использования ЦП кластером, активных подключений и доступной памяти.
Раскройте раздел Additional scaling configuration (Дополнительная настройка масштабирования). Можно отключить функцию приостановки кластера, сняв флажок Pause compute capacity after consecutive minutes of inactivity (Приостановить работу вычислительных ресурсов после заданного количества минут бездействия). В полях часов, минут и секунд с раскрывающимся списком можно изменить продолжительность бездействия до приостановки кластера. По умолчанию кластер будет приостановлен через пять минут бездействия.
При выполнении заданий этого учебного пособия следует оставить эти значения по умолчанию.
Close
(Щелкните, чтобы увеличить изображение.)
f. На панели Network & Security (Сеть и безопасность) в списке Virtual Private Cloud (VPC) выберите Create new VPC (Создать новое VPC).
В списке Subnet group (Группа подсети) выберите Create new DB Subnet Group (Создать новую группу подсети БД).
В списке VPC security groups (Группы безопасности VPC) выберите Create new VPC security group (Создать новую группу безопасности VPC). Вы измените настройки новой группы безопасности, чтобы сетевой трафик от клиента базы данных направлялся в новый кластер Aurora Serverless на последующих этапах.
Выберите Create database (Создать базу данных).
Close
(Щелкните, чтобы увеличить изображение. )
g. Загрузится экран RDS > Clusters (RDS > Кластеры), и кластер MyClusterName отобразится в состоянии создания. Щелкните MyClusterName в списке кластеров для доступа к подробной информации о кластере.
Close
(Щелкните, чтобы увеличить изображение.)
h. Загрузится экран с подробной информацией о кластере MyClusterName. Этот экран содержит информацию мониторинга, в том числе график Serverless Database Capacity (Ресурсы базы данных Serverless), на котором в динамике представлено количество используемых единиц ресурсов Aurora, а также панель Recent Events (Последние события) с подробной информацией о событиях масштабирования, приостановки и возобновления использования.
Прокрутите экран до панели Details (Сведения). Сохраните значения параметров VPC и Database endpoint (Адрес базы данных) для дальнейшего использования при выполнении заданий этого учебного пособия.
Close
(Щелкните, чтобы увеличить изображение.)
Шаг 3. Создание среды клиента в Cloud9
После создания кластера MyClusterName вашим следующим заданием будет создание клиента базы данных в этом же VPC. Чтобы выполнить это задание, вы создадите среду Cloud9, которую будете использовать в качестве клиента базы данных.
a. В верхнем меню AWS Web Console (Веб-консоль AWS) выберите Services (Сервисы). Начните вводить Cloud9 в строке поиска и выберите Cloud9, чтобы открыть консоль сервиса.
Close
(Щелкните, чтобы увеличить изображение.)
b. На экране AWS Cloud9 выберите Create environment (Создать среду).
Close
(Щелкните, чтобы увеличить изображение.)
c. На экране Name environment (Задать имя среды) в поле Name (Имя) введите MyCloud9Env и выберите Next step (Следующий шаг).
Close
(Щелкните, чтобы увеличить изображение.)
d. На экране Configure setting (Настройка параметров) оставьте для типа среды значение Create a new instance for environment (EC2) (Создать новый инстанс для среды (EC2)) и для параметра Instance type (Тип инстанса) оставьте значение t2.micro.
Close
(Щелкните, чтобы увеличить изображение.)
e. Поскольку кластеры БД Aurora Serverless не имеют публично доступных адресов, кластер MyClusterName может быть доступен только из одного и того же VPC.
Чтобы разместить MyCloud9Env в том же VPC, что и кластер MyClusterName, прокрутите вниз экран Configure setting (Настройка параметров) и раскройте раздел Network settings (advanced) (Дополнительные настройки сети). В раскрывающемся списке Network (VPC) (Сеть (VPC)) выберите VPC кластера MyClusterName, который вы записали в шаге 2 (з).
Нажмите Next step (Следующий шаг).
На страницеReview (Проверка) выберите пункт Create environment (Создать среду).
После создания новой среды Cloud9 выполните следующий шаг.
Close
(Щелкните, чтобы увеличить изображение.)
Шаг 4. Включение сетевого доступа клиента к кластеру Serverless
На этом этапе мы включим сетевой доступ из среды Cloud9 к кластеру БД Serverless. Чтобы выполнить это задание, мы добавим группу безопасности, назначенную для MyCloud9Env, в качестве источника трафика для группы безопасности, назначенной для MyClusterName. Группа безопасности – это виртуальный брандмауэр, который контролирует сетевой трафик в вашей сети.
a. Чтобы упростить навигацию, загрузите веб-консоль AWS в другой вкладке браузера, нажав здесь. В новом окне браузера на верхней панели меню выберите Services (Сервисы), затем введите VPC в строке поиска и выберите пункт VPC из списка.
Close
(Щелкните, чтобы увеличить изображение.)
b. На странице VPC Dashboard (Панель управления VPC) на левой панели навигации выберите Security groups (Группы безопасности).
В столбце Group Name (Имя группы) найдите группу безопасности, имя которой начинается с aws-cloud9-MyCloud9Env. Запишите идентификатор этой группы безопасности.
В качестве примера на снимке экрана справа будет отображаться группа безопасности, имя которой заканчивается на 7431. Ваш идентификатор группы будет отличаться от изображенного на этом снимке экрана.
Close
Close
(Щелкните, чтобы увеличить изображение.)
c. В списке групп безопасности выберите группу безопасности, имя которой начинается с RDS-Launch-Wizard.
Затем перейдите на вкладку Inbound Rules (Правила для входящих подключений).
Затем выберите Edit (Изменить).
Close
(Щелкните, чтобы увеличить изображение.)
d. На вкладке Inbound Rules (Правила для входящих подключений) выберите Add another rule (Добавить еще одно правило).
В столбце Type (Тип) выберите MySQL/Aurora (3306) из раскрывающегося списка.
Затем щелкните в поле столбца Source (Источник), чтобы отобразился раскрывающийся список. Выберите идентификатор группы безопасности, который вы записали в шаге 4 (б). Нажмите Save (Сохранить).
В качестве примера на снимке экрана справа выберите из списка группу безопасности, имя которой заканчивается на 7431. Ваш идентификатор конкретной группы будет отличаться от изображенного на этом снимке экрана.
Close
(Щелкните, чтобы увеличить изображение.)
Шаг 5. Подключение к кластеру БД Aurora Serverless
На этом этапе мы будем осуществлять доступ из среды Cloud9 в кластер БД Aurora Serverless.
a. Переключитесь обратно в окно браузера MyCloud9Env.
На вкладке терминала bash в MyCloud9Env введите следующую команду. Замените главное имя пользователя и адрес базы данных значениями в команде и нажмите Enter (Ввод).
mysql --user=[your Master username] --password -h [your database endpoint]
При появлении соответствующего запроса введите главный пароль и нажмите Enter (Ввод).
Теперь вы должны быть подключены к кластеру БД MyClusterName Aurora Serverless.
Close
(Щелкните, чтобы увеличить изображение.)
b. Вы можете посылать команды к кластеру БД Aurora Serverless, используя установленное подключение. Например, можно отобразить базы данных на сервере, вставив следующую команду во вкладке bash терминала в MyCloud9Env.
show databases;
Close
(Щелкните, чтобы увеличить изображение.)
Шаг 6. Удаление ресурсов
На этом этапе мы удалим кластер БД Aurora и среду Cloud9.
Важно! Удаление неиспользуемых ресурсов сокращает расходы и является рекомендованной мерой. Если не удалить ресурсы, может взиматься дополнительная плата.
a. В верхнем меню выберите Services (Сервисы) и начните вводить RDS в строке поиска. Выберите RDS, чтобы вернуться в консоль Amazon RDS.
Close
(Щелкните, чтобы увеличить изображение.)
b. На странице консоли Amazon RDS выберите Clusters (Кластеры) в списке на панели навигации слева. В списке кластеров выберите myclustername. В меню Actions (Действия) выберите Delete Cluster (Удалить кластер).
При появлении запроса на удаление кластера myclustername выберите Delete DB Cluster (Удалить кластер БД).
Close
(Щелкните, чтобы увеличить изображение.)
c. В верхнем меню AWS Web Console (Веб-консоль AWS) выберите Services (Сервисы). Начните вводить Cloud9 в строке поиска и выберите Cloud9, чтобы открыть консоль сервиса.
Close
(Щелкните, чтобы увеличить изображение.)
d. На экране Your environments (Ваши среды) выберите MyCloud9Env, затем Delete (Удалить). Подтвердите удаление MyCloud9Env.
Close
(Щелкните, чтобы увеличить изображение.)
Вы создали кластер БД Aurora Serverless, подключились к нему, а затем удалили его. Чтобы ощутить реальные преимущества Aurora Serverless, подключите этот сервис к приложениям с переменной или невысокой частотой использования, средам разработки и тестирования, мультитенантным и другим приложениям, при использовании которых автомасштабирование по требованию может быть выгодным.
Подробнее об использовании Aurora Serverless для вашего следующего приложения »
Теперь когда вы научились создавать и подключать кластер базы данных Aurora Serverless, вы можете перейти к изучению руководства пользователя Aurora Serverless, чтобы научиться восстанавливать, изменять, просматривать базы данных Aurora Serverless и назначать ресурсы.
Использование Amazon Aurora Serverless »
Была ли полезной информация, представленная в этом учебном пособии?
Вход в Консоль
Подробнее об AWS
- Что такое AWS?
- Что такое облачные вычисления?
- Инклюзивность, многообразие и равенство AWS
- Что такое DevOps?
- Что такое контейнер?
- Что такое озеро данных?
- Безопасность облака AWS
- Новые возможности
- Блоги
- Пресс‑релизы
Ресурсы для работы с AWS
- Начало работы
- Обучение и сертификация
- Портфолио решений AWS
- Центр архитектурных решений
- Вопросы и ответы по продуктам и техническим темам
- Отчеты аналитиков
- Партнерская сеть AWS
Разработчики на AWS
- Центр разработчика
- Пакеты SDK и инструментарий
- . NET на AWS
- Python на AWS
- Java на AWS
- PHP на AWS
- JavaScript на AWS
Поддержка
- Связаться с нами
- Работа в AWS
- Обратиться в службу поддержки
- Центр знаний
- AWS re:Post
- Обзор AWS Support
- Юридическая информация
Amazon.com – работодатель равных возможностей. Мы предоставляем равные права представителям меньшинств, женщинам, лицам с ограниченными возможностями, ветеранам боевых действий и представителям любых гендерных групп любой сексуальной ориентации независимо от их возраста.
Поддержка AWS для Internet Explorer заканчивается 07/31/2022. Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari. Подробнее »
4.2.4 Подключение к серверу MySQL с использованием параметров команды
4.2.4 Подключение к серверу MySQL с использованием параметров команды
В этом разделе описывается использование параметров командной строки, чтобы указать, как для установления соединений с сервером MySQL для таких клиентов, как mysql или mysqldump . За информация об установлении соединений с использованием URI-подобного соединения строки или пары ключ-значение, для таких клиентов, как MySQL Shell, см. Раздел 4.2.5, «Подключение к серверу с использованием строк, подобных URI, или пар ключ-значение». За дополнительную информацию, если вы не можете подключиться, см. Раздел 6.2.22, «Устранение неполадок при подключении к MySQL».
Чтобы клиентская программа могла подключиться к серверу MySQL, она должна использовать правильные параметры подключения, такие как имя хоста где работает сервер, а также имя пользователя и пароль вашего учетная запись MySQL. Каждый параметр соединения имеет значение по умолчанию, но при необходимости вы можете переопределить значения по умолчанию, используя параметры программы указывается либо в командной строке, либо в файле параметров.
В примерах здесь используется mysql 9.клиентская программа 0007, но принципы применимы к другим клиентам, таким как mysqldump , mysqladmin или mysqlshow .
Эта команда вызывает mysql без указания любые явные параметры соединения:
MySQL
Поскольку опций параметров нет, применяются значения по умолчанию:
Имя хоста по умолчанию —
localhost
. На Unix, это имеет особое значение, как описано ниже.Имя пользователя по умолчанию —
ODBC
в Windows или ваше имя для входа в Unix в Unix.Пароль не отправляется, потому что ни
--пароль
ни-p
дано.Для mysql первым аргументом, не являющимся параметром, является принимается как имя базы данных по умолчанию. Потому что нет такой аргумент, mysql не выбирает значение по умолчанию база данных.
Чтобы явно указать имя хоста и имя пользователя, а также пароль, укажите соответствующие параметры в командной строке. К выберите базу данных по умолчанию, добавьте аргумент имени базы данных. Примеры:
mysql --host=localhost --user=myname --password= пароль mydb mysql -h localhost -u мое имя -p пароль mydb
Для параметров пароля значение пароля не является обязательным:
Если вы используете
--password
или-p
и указать значение пароля, там должно быть без пробела между--пароль=
или-p
и следующий за ним пароль.Если вы используете
--пароль
или-p
, но не указывайте значение пароля, клиентская программа предлагает ввести пароль. Пароль не отображается при вводе. Это более безопасно, чем ввод пароля в командной строке, что может позволить другие пользователи в вашей системе, чтобы увидеть строку пароля, выполнение команды, такой как пс . Видеть Раздел 6.1.2.1, «Рекомендации для конечных пользователей по безопасности паролей».Чтобы явно указать, что пароля нет и что клиентская программа не должна запрашивать его, используйте
--пропустить пароль
вариант.
Как только что упоминалось, включая значение пароля в команде
линия представляет собой угрозу безопасности. Чтобы избежать этого риска, укажите --пароль
или -p
вариант без следующего значения пароля:
mysql --host=localhost --user=myname --password mydb mysql -h localhost -u мое имя -p mydb
Когда --пароль
или -p
параметр задается без значения пароля,
клиентская программа печатает приглашение и ждет, пока вы введете
пароль. (В этих примерах mydb
, а не интерпретируется как пароль, потому что
отделяется от предыдущей опции пароля пробелом. )
В некоторых системах библиотечная процедура, которую MySQL использует для запроса пароль автоматически ограничивает пароль до восьми символов. Это ограничение является свойством системной библиотеки, а не MySQL. Внутри MySQL нет ограничений на длину пароль. Чтобы обойти ограничение на затронутые им системы, указать свой пароль в файле опций (см. Раздел 4.2.2.2, «Использование файлов опций»). Другой обходной путь — изменить ваш пароль MySQL до значения, состоящего из восьми или менее символов, но у этого есть тот недостаток, что более короткие пароли, как правило, менее безопасно.
Клиентские программы определяют, какой тип соединения следует установить. следует:
Если хост не указан или
localhost
, подключение к локальному хосту имеет место:В Windows клиент подключается с использованием общей памяти, если сервер был запущен с
общая_память
система переменная включена для поддержки соединений с общей памятью.В Unix программы MySQL обрабатывают имя хоста
localhost
специально таким образом, чтобы вероятно, отличается от того, что вы ожидаете по сравнению с другими сетевые программы: клиент подключается с помощью Unix файл сокета.--сокет
вариант илиMYSQL_UNIX_PORT
переменная среды может использоваться для указания сокета имя.
В Windows, если
хост
это.
(точка), или TCP/IP не включен и--сокет
не указан или хост пуст, клиент подключается по именованному каналу, если сервер был запущен сnamed_pipe
системная переменная включена поддержка соединений именованных каналов. Если именованный канал соединения не поддерживаются или если пользователь, выполняющий подключение не является членом группы Windows, указанной вnamed_pipe_full_access_group
системная переменная, возникает ошибка.В противном случае соединение использует TCP/IP.
Опция --protocol
позволяет вам
использовать конкретный транспортный протокол, даже если другие варианты
обычно приводят к использованию другого протокола. То есть, --протокол
определяет транспорт
протокол явно и переопределяет предыдущие правила, даже для локальный хост
.
Только варианты подключения, которые относятся к выбранному
транспортный протокол используется или проверяется. Другие варианты подключения
игнорируются. Например, с --host=localhost
в Unix,
клиент пытается подключиться к локальному серверу с помощью сокета Unix
файл, даже если --port
или -P
опция указана для указания порта TCP/IP
количество.
Чтобы убедиться, что клиент устанавливает соединение TCP/IP с локальным
сервер, используйте --хост
или -h
, чтобы указать значение имени хоста 127. 0.0.1
(вместо localhost
), либо IP-адрес, либо имя
локальный сервер. Вы также можете указать транспортный протокол
явно, даже для localhost
, с помощью --протокол=параметр TCP
. Примеры:
mysql --host=127.0.0.1 mysql --протокол=TCP
Если сервер настроен на прием соединений IPv6, клиенты
может подключиться к локальному серверу через IPv6, используя --host=::1
. Видеть
Раздел 5.1.13, «Поддержка IPv6».
В Windows, чтобы заставить клиент MySQL использовать именованный канал
подключение, укажите --pipe
или --protocol=PIPE
или указать .
(точка) в качестве имени хоста. Если бы сервер был
не запускается с named_pipe
системная переменная включена для поддержки соединений именованных каналов или если
пользователь, выполняющий подключение, не является членом Windows
группа, указанная named_pipe_full_access_group
системная переменная, возникает ошибка. Использовать --socket
, чтобы указать
имя канала, если вы не хотите использовать имя канала по умолчанию.
Соединения с удаленными серверами используют TCP/IP. Эта команда подключается к
сервер, работающий на remote.example.com
с использованием
номер порта по умолчанию (3306):
mysql --host=remote.example.com
Чтобы явно указать номер порта, используйте --порт
или -P
вариант:
mysql --host=remote.example.com --port=13306
Вы можете указать номер порта для подключения к локальному серверу,
слишком. Однако, как указывалось ранее, связи с localhost
в Unix по умолчанию используется файл сокета,
поэтому, если вы не форсируете соединение TCP/IP, как описано ранее,
любая опция, указывающая номер порта, игнорируется.
Для этой команды программа использует файл сокета в Unix и --port
опция игнорируется:
mysql --port=13306 --host=localhost
Чтобы использовать номер порта, принудительно установите соединение TCP/IP. Например, вызовите программу одним из следующих способов:
mysql --port=13306 --host=127.0.0.1 mysql --port=13306 --протокол=TCP
Для получения дополнительной информации о параметрах, управляющих тем, как клиент программы устанавливают соединения с сервером, см. Раздел 4.2.3, «Параметры команды для подключения к серверу».
Можно указать параметры подключения, не вводя их в командной строке каждый раз, когда вы вызываете клиентскую программу:
Укажите параметры подключения в
[клиент]
раздел файла опций. соответствующий раздел файла может выглядеть так:[клиент] хост = имя_хоста пользователь= имя_пользователя пароль= пароль
Для получения дополнительной информации см. Раздел 4.2.2.2, «Использование файлов опций».
Некоторые параметры подключения можно указать с помощью среды переменные. Примеры:
Чтобы указать хост для mysql , используйте
MYSQL_HOST
.В Windows, чтобы указать имя пользователя MySQL, используйте
ПОЛЬЗОВАТЕЛЬ
.
Список поддерживаемых переменных среды см. Раздел 4.9, «Переменные среды».
6.2.22 Устранение неполадок при подключении к MySQL
6.2.22 Устранение неполадок при подключении к MySQL
Если у вас возникли проблемы при попытке подключения к серверу MySQL сервер, следующие пункты описывают некоторые действия, которые вы может принять, чтобы исправить проблему.
Убедитесь, что сервер работает. Если это не так, клиенты не могу подключиться к нему. Например, при попытке подключения к сервер выходит из строя с сообщением, например, одним из тех ниже, одной из причин может быть то, что сервер не работает:
$> MySQL ОШИБКА 2003: Не удается подключиться к серверу MySQL на « host_name » (111) $> MySQL ОШИБКА 2002: Не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql. sock' (111)
Возможно, сервер запущен, но вы пытаетесь подключиться, используя порт TCP/IP, именованный канал или файл сокета Unix отличается от того, который слушает сервер. К исправьте это при вызове клиентской программы, укажите
--опция порта
для указания правильный номер порта или--параметр сокета
для указания канал с правильным именем или файл сокета Unix. Чтобы узнать, где файл сокета, вы можете использовать эту команду:$> netstat -ln | grep mysql
Убедитесь, что сервер не настроен на игнорирование сетевые подключения или (если вы пытаетесь подключиться удаленно), что он не настроен только на прослушивание локально на своих сетевых интерфейсах. Если сервер был запущен с
пропуск_сети
системная переменная включена, соединения TCP/IP не принимаются. Если сервер был запущен сbind_address
системная переменная установить на127.0.0.1
, он прослушивает TCP/IP соединения только локально на петлевом интерфейсе и не не принимать удаленные подключения.Убедитесь, что брандмауэр не блокирует доступ к MySQL. Ваш брандмауэр может быть настроен на основе выполняемое приложение или номер порта, используемый MySQL для связи (по умолчанию 3306). Под Linux или Unix, проверьте свои IP-таблицы (или аналогичную) конфигурацию, чтобы убедиться, что порт не заблокирован. Под Windows приложения таких как ZoneAlarm или брандмауэр Windows, может потребоваться настроен не блокировать порт MySQL.
Таблицы привилегий должны быть правильно настроены, чтобы сервер может использовать их для контроля доступа. Для некоторых типов дистрибутива (такие как бинарные дистрибутивы для Windows или RPM и DEB дистрибутивов на Linux), процесс установки инициализируется каталог данных MySQL, включая
системная база данных mysql
, содержащая грант столы. Для дистрибутивов, которые этого не делают, вы должны инициализировать каталог данных вручную. Подробнее см. Раздел 2.10, «Настройка и тестирование после установки».Чтобы определить, нужно ли вам инициализировать таблицы предоставления, найдите каталог
mysql
под данными каталог. (Каталог данных обычно называетсяданные
илиvar
и есть находится в каталоге установки MySQL.) Убедитесь, что что у вас есть файл с именемuser.MYD
в каталог базы данныхmysql
. Если не, инициализировать каталог данных. После этого и запуска сервер, вы должны иметь возможность подключиться к серверу.После новой установки, если вы попытаетесь войти на сервер как
root
без использования пароля, вы можете получить следующее сообщение об ошибке.$> mysql -u корень ОШИБКА 1045 (28000): Доступ запрещен для пользователя «root» @ «localhost» (с использованием пароля: НЕТ)
Это означает, что пароль root уже был назначен во время установка, и она должна быть поставлена. Видеть Раздел 2.10.4, «Защита исходной учетной записи MySQL» о различных способах пароль мог быть назначен и, в некоторых случаях, как Найди это. Если вам нужно сбросить пароль root, см. инструкции в Разделе B.3.3.2, «Как сбросить корневой пароль». После вы нашли или сбросили свой пароль, войдите снова как
корень
с помощью--пароль
(или-p
) вариант:$> mysql -u корень -p Введите пароль:
Однако сервер позволит вам подключиться как
root
без использования пароля, если у вас инициализировал MySQL, используя mysqld —initialize-insecure (см. Подробности см. в разделе 2.10.1, «Инициализация каталога данных»). Это угроза безопасности, поэтому вам следует установить пароль дляучетная запись root
; видеть Инструкции см. в разделе 2.10.4, «Защита исходной учетной записи MySQL».Если вы обновили существующую установку MySQL до более новой версии, вы выполнили процедуру обновления MySQL? Если не, Сделай так. Структура таблиц грантов время от времени меняется. когда добавляются новые возможности, поэтому после обновления вы всегда следует убедиться, что ваши таблицы имеют текущий структура. Инструкции см. в Разделе 2.11, «Обновление MySQL».
Если клиентская программа получает следующее сообщение об ошибке при пытается подключиться, значит сервер ожидает пароли в более новом формате, чем клиент может генерация:
$> MySQL Клиент не поддерживает запрошенный протокол аутентификации по серверу; рассмотрите возможность обновления клиента MySQL
Помните, что клиентские программы используют параметры соединения указаны в файлах опций или переменных среды. Если клиентская программа, кажется, отправляет неправильный по умолчанию параметры подключения, если вы не указали их на командной строке, проверьте все применимые файлы опций и ваш Окружающая среда. Например, если вы получили
Доступ отказал
при запуске клиента без каких-либо опций, убедитесь, что вы не указали старый пароль ни в ваших опционных файлов!Вы можете запретить использование файлов опций клиентской программой. вызывая его с помощью
--no-defaults
опция. За пример:$> mysqladmin --no-defaults -u корневая версия
Файлы опций, используемые клиентами, перечислены в Раздел 4.2.2.2, «Использование файлов опций». Переменные среды перечислено в Разделе 4.9, «Переменные среды».
Если вы получаете следующую ошибку, это означает, что вы используете неправильный пароль
root
:$> mysqladmin -u root -p xxxx версия Доступ запрещен для пользователя «root» @ «localhost» (используя пароль: YES)
Если предыдущая ошибка возникает, даже если вы не указали пароль, значит у вас неправильный пароль перечислены в каком-то файле опций. Попробуйте
--no-defaults
вариант как описано в предыдущем пункте.Информацию о смене паролей см. Раздел 6.2.14, «Назначение паролей учетных записей».
Если вы потеряли или забыли
root
пароль, см. раздел B.3.3.2, «Как сбросить корневой пароль».localhost
— это синоним вашего локального хоста. имени, а также является хостом по умолчанию, к которому клиенты пытаются подключиться. connect, если вы явно не укажете хост.Вы можете использовать
--host=127.0.0.1
возможность явного указания хоста сервера. Это вызывает TCP/IP-соединение с локальным mysqld сервер. Вы также можете использовать TCP/IP, указав--host
параметр, использующий фактическое имя локального хоста. В этом случае хозяин имя должно быть указано в строке таблицыпользователя
на хост-сервере, даже если вы используете клиент программа на том же хосте, что и сервер.Сообщение об ошибке
«Отказано в доступе
» говорит вам под которым вы пытаетесь войти, клиентский хост, с которого вы пытаетесь подключиться, и использовали ли вы пароль. Обычно у вас должна быть одна строка впользовательская
таблица, точно соответствующая хосту имя и имя пользователя, указанные в сообщении об ошибке. За Например, если вы получили сообщение об ошибке, содержащееиспользуя пароль: НЕТ
, значит ты пытался войти без пароля.Если вы получаете сообщение об ошибке
«Отказано в доступе
» при попытка подключения к базе данных с помощьюmysql -u
, у вас может быть проблема с таблицей пользователейuser_name
mysql -u root mysql
и выдача этот оператор SQL:ВЫБРАТЬ * ОТ пользователя;
В результате должна быть строка с
Столбцы Host
иUser
соответствие имени хоста вашего клиента и вашему имени пользователя MySQL.Если при попытке подключения с хост, отличный от того, на котором работает сервер MySQL, значит нет строки в
пользователя
таблица со значениемHost
, которое соответствует клиентский хост:Хост... не разрешено подключаться к этому серверу MySQL
Вы можете исправить это, настроив учетную запись для комбинации имени хоста клиента и имени пользователя, которые вы используете при пытаюсь подключиться.
Если вы не знаете IP-адрес или имя хоста машины от которого вы подключаетесь, вы должны поставить строку с
'%'
как столбецХост
значение впользователя
табл. После попытки подключиться с клиентского компьютера, используйтеSELECT USER()
запрос, чтобы увидеть, как вы действительно подключились. затем измените'%'
впользовательская
строка таблицы фактическому имени хоста, появляется в журнале. В противном случае ваша система остается небезопасной. потому что он разрешает соединения с любого хоста для данного имя пользователя.В Linux другая причина возникновения этой ошибки заключается в том, что вы используете бинарную версию MySQL, скомпилированную с другая версия
библиотека glibc
, чем тот, который вы используете. В этом случае следует либо обновить ваша операционная системаили glibc
, или скачать исходный дистрибутив версии MySQL и скомпилируйте его самим собой. Исходный RPM обычно несложно скомпилировать и установить, так что это не большая проблема.Если вы укажете имя хоста при попытке подключения, но получите сообщение об ошибке, где имя хоста не отображается или является IP-адресом адрес, это означает, что сервер MySQL получил ошибку, когда пытаясь преобразовать IP-адрес клиентского хоста в имя:
$> mysqladmin -u root -p xxxx -h имя_хоста версия Доступ запрещен для пользователя 'root'@'' (используя пароль: YES)
Если вы попытаетесь подключиться как
root
и получите следующая ошибка, это означает, что у вас нет строки впользовательская таблица
спользователем
значение столбца'root'
и что mysqld не может разрешить имя хоста для ваш клиент:Доступ запрещен для пользователя ''@'unknown'
Эти ошибки указывают на проблему с DNS. Чтобы исправить это, выполните mysqladmin flush-hosts для сброса внутренний кеш узла DNS. См. раздел 5.1.12.3, «Поиски DNS и кэш хоста».
Некоторые постоянные решения:
Определите, что не так с вашим DNS-сервером, и исправьте это.
Укажите IP-адреса, а не имена хостов в MySQL. грантовые столы.
Поместите запись для имени клиентского компьютера в
/etc/hosts
в Unix или\windows\hosts
в Windows.Запустите mysqld с
система skip_name_resolve
переменная включена.Запустите mysqld с
--skip-host-cache
опция.В Unix, если вы используете сервер и клиент на та же машина, подключитесь к
localhost
. Для подключений кlocalhost
, MySQL программы пытаются подключиться к локальному серверу, используя Файл сокета Unix, если нет параметров подключения указано, чтобы гарантировать, что клиент делает TCP/IP связь. Для получения дополнительной информации см. Раздел 4.2.4, «Подключение к серверу MySQL с помощью параметров команды».В Windows, если вы используете сервер и клиент на той же машине и сервер поддерживает именованный канал соединения, подключитесь к хосту с именем
.
(период). Соединения с.
использовать именованный канал, а не TCP/IP.
Если
mysql -u root
работает, ноmysql -h
приводит кваше_имя_хоста
-u кореньДоступ запрещен
(гдеyour_hostname
— фактический хост имя локального хоста), у вас может быть неправильное имя для ваш хост в таблицепользователей
. Обычный проблема здесь в том, что значениеHost
впользователь
строка таблицы указывает неквалифицированный имя хоста, но процедуры разрешения имен вашей системы возвращают полное доменное имя (или наоборот). Например, если у вас конфликт с хостом'Плутон'
в Таблицапользователей
, но ваш DNS сообщает MySQL, что имя вашего хоста'pluto.example.com'
, ряд не работает. Попробуйте добавить строку впользовательская
таблица, содержащая IP-адрес ваш хост в качестве значения столбцаHost
. (В качестве альтернативы вы можете добавить строку впользовательская
таблица с хостом'Плутон.%'
). Однако использованиеХост
значений, заканчивающихся на%
небезопасно и не рекомендуется !)Если
mysql -u
работает, ноuser_name
mysql -u
нет, вы не предоставили доступ данному пользователю для базы данных по имениимя_пользователя
some_db
some_db
.Если
mysql -u
работает, когда выполняется на хосте сервера, ноuser_name
mysql -h
не работает при выполнении на удаленном клиентском хосте вы не включили доступ к серверу для данного имени пользователя с удаленного хозяин.имя_хоста
-uимя_пользователя
Если вы не можете понять, почему вы получаете доступ
отказано
, удалить изпользователя
таблица всех строк, которые имеют значенияHost
содержащие подстановочные знаки (строки, содержащие'%'
или'_'
символов). Очень распространенная ошибка чтобы вставить новую строку сХост
='%'
иПользователь
='
, думая, что это позволяет вам указатьнекоторый_пользователь
'localhost
для подключения с той же машины. Причина, по которой это не работает, заключается в том, что по умолчанию привилегии включают строку сХост
='localhost'
иПользователь
=''
. Потому что строка имеет значениеHost
'localhost'
, что более конкретно, чем'%'
, используется вместо нового ряд при соединении слокальный хост
! правильная процедура — вставить вторую строку сХост
='localhost'
иПользователь
='
, или удалить строку с помощьюsome_user
'Хост
='localhost'
иПользователь
=''
. После удаления ряд, не забудьте выдатьFLUSH Оператор PRIVILEGES
для перезагрузки таблиц разрешений. Видеть также Раздел 6.2.6, «Контроль доступа, Этап 1: Проверка соединения».Если вы можете подключиться к серверу MySQL, но получаете
Сообщение об отказе в доступе
всякий раз, когда вы выдаетеВЫБЕРИТЕ... В ВНЕШНИЙ ФАЙЛ
илиЗАГРУЗИТЬ ДАННЫЕ
заявление, ваша строка в таблицепользователя
делает не иметь привилегииFILE
включено.Если вы измените таблицы привилегий напрямую (например, с помощью
ВСТАВИТЬ
,ОБНОВЛЕНИЕ
илиУДАЛИТЬ
утверждений) и ваши изменения кажутся проигнорированными, помните, что вы должны выполнитьFLUSH PRIVILEGES
заявление или команда mysqladmin flush-привилегий для заставить сервер перезагрузить таблицы привилегий. В противном случае, ваши изменения не вступят в силу до следующего раза, когда сервер перезапущен. Помните, что после измененияroot
пароль сОБНОВЛЕНИЕ
заявление, вы не необходимо указать новый пароль до тех пор, пока вы не сбросите привилегии, потому что сервер до этого не знает, что вы изменили пароль.Если кажется, что ваши привилегии изменились в середине сессии, возможно, изменился администратор MySQL. их. Перезагрузка таблиц грантов влияет на нового клиента соединений, но это также влияет на существующие соединения, поскольку указано в Разделе 6.2.13, «Когда вступают в силу изменения привилегий».
Если у вас проблемы с доступом к Perl, PHP, Python или ODBC программа, попробуйте подключиться к серверу с помощью
mysql -u
илиимя_пользователя
имя_базы_данных
mysql -u
. Если вы можете для подключения с помощью клиента mysql , проблема связана с вашей программой, а не с доступом привилегии. (Между 9 нет пробела0034 -р и пароль; вы также можете использоватьимя_пользователя
-pпароль
имя_базы_данных
--пароль=
синтаксис для указания пароля. Если вы используетепароль
-p
или--пароль
вариант без значение пароля, MySQL запрашивает пароль.)В целях тестирования запустите mysqld . сервер с
--skip-grant-tables
опция. Затем вы можете изменить таблицы грантов MySQL и использоватьSHOW GRANTS
оператор для проверки имеют ли ваши модификации желаемый эффект. Когда ты удовлетворены вашими изменениями, выполните mysqladmin флеш-привилегии , чтобы сообщить сервер mysqld для перезагрузки привилегий. Это позволит вам начать использовать новое содержимое таблицы грантов. без остановки и перезапуска сервера.Если ничего не помогает, запустите mysqld сервер с возможностью отладки (например,
--debug=d,общий,запрос
). Этот выводит информацию о хосте и пользователе о попытках подключения, а также информацию о каждой выданной команде. Видеть Раздел 5.9.4, «Пакет DBUG».Если у вас есть какие-либо другие проблемы с таблицами грантов MySQL и спроси на Сообщество MySQL Slack, всегда предоставляйте дамп гранта MySQL столы. Вы можете сбросить таблицы с помощью mysqldump Команда mysql . Чтобы отправить отчет об ошибке, см. инструкции в Разделе 1.6, «Как сообщить об ошибках или проблемах». В некоторых случаях, вам может потребоваться перезапустить mysqld с
--skip-grant-tables
для запуска mysqldump .
4.2.3 Параметры команды для подключения к серверу
4.2.3 Параметры команды для подключения к серверу
В этом разделе описываются параметры, поддерживаемые большинством клиентов MySQL. программы, управляющие тем, как программы-клиенты устанавливают соединения с сервер, зашифрованы ли соединения и соединения сжаты. Эти варианты могут быть указаны на командной строке или в файле параметров.
Опции команды для установления соединения
В этом разделе описываются параметры, управляющие тем, как клиентские программы установить соединения с сервером. Для дополнительной информации и примеры, показывающие, как их использовать, см. Раздел 4.2.4, «Подключение к серверу MySQL с помощью параметров команды».
Таблица 4.3 Сводка вариантов установления соединения
--default-auth=
плагин
Подсказка о том, какой плагин аутентификации на стороне клиента использовать. См. Раздел 6.2.17, «Подключаемая аутентификация».
--host=
,host_name
-h
имя_хоста
Хост, на котором работает сервер MySQL. Значение может быть именем хоста, адресом IPv4 или адресом IPv6. По умолчанию значение
локальный хост
.--password[=
,значение_пароля
]-p[
значение_пароля
]Пароль учетной записи MySQL, используемой для подключения к сервер. Значение пароля является необязательным. Если не дано, то клиентская программа запрашивает один. Если дано, должно быть без пробела между
--пароль=
или-p
и следующий за ним пароль. Если нет указана опция пароля, по умолчанию не отправлять пароль.Указание пароля в командной строке должно быть считается небезопасным. Чтобы не указывать пароль на командной строки, используйте файл параметров. Видеть Раздел 6.1.2.1, «Рекомендации для конечных пользователей по безопасности паролей».
Чтобы явно указать, что пароля нет и что клиентская программа не должна запрашивать его, используйте
--пропустить-пароль
вариант.--password1[=
значение_пароля
]Пароль для многофакторной аутентификации фактор 1 Учетная запись MySQL, используемая для подключения к серверу. значение пароля является необязательным. Если не указано, клиентская программа подсказки для одного. Если задано, должно быть нет пробел между
--password1=
и после него пароль. Если параметр пароля не указан, по умолчанию пароль не отправляется.Указание пароля в командной строке должно быть считается небезопасным. Чтобы не указывать пароль на командной строки, используйте файл параметров. Видеть Раздел 6.1.2.1, «Рекомендации для конечных пользователей по безопасности паролей».
Чтобы явно указать, что пароля нет и что клиентская программа не должна запрашивать его, используйте
--пропустить-пароль1
вариант.--пароль1
и--пароль
являются синонимами, так же как и--пропустить-пароль1
а также--пропустить-пароль
.--password2[=
значение_пароля
]Пароль для многофакторной аутентификации фактор 2 Учетная запись MySQL, используемая для подключения к серверу. семантика этой опции аналогична семантике для
--пароль1
; см. описание этой опции для получения подробной информации.--password3[=
значение_пароля
]Пароль для многофакторной аутентификации фактор 3 Учетная запись MySQL, используемая для подключения к серверу. семантика этой опции аналогична семантике для
--пароль1
; см. описание этой опции для получения подробной информации.--труба
,-В
В Windows подключитесь к серверу с помощью именованного канала. Этот вариант применяется только в том случае, если сервер был запущен с
named_pipe
системная переменная включена поддержка соединений именованных каналов. В дополнение пользователь, выполняющий подключение, должен быть членом Windows группа, указаннаяnamed_pipe_full_access_group
системная переменная.--plugin-dir=
имя_каталога
Каталог, в котором нужно искать плагины. Укажите это вариант, если
--default-auth
используется для указания подключаемого модуля аутентификации, но клиентская программа его не находит. Видеть Раздел 6.2.17, «Подключаемая аутентификация».--port=
,номер_порта
-P
номер_порта
Для соединений TCP/IP — номер используемого порта. По умолчанию номер порта 3306.
--protocol={TCP|СОКЕТ|КАНАЛ|ПАМЯТЬ}
Эта опция явно указывает, какой транспортный протокол использовать. использовать для подключения к серверу. Это полезно, когда другие параметры соединения обычно приводят к использованию протокола кроме того, который вы хотите. Например, соединения на Юникс до
localhost
сделаны с использованием Unix файл сокета по умолчанию:mysql --host=localhost
Чтобы принудительно использовать транспорт TCP/IP, укажите
--опция протокола
:mysql --host=localhost --protocol=TCP
В следующей таблице показаны допустимые
--значения опций протокола
и указывает применимые платформы для каждого значения. значения не чувствительны к регистру.См. также Раздел 4.2.7, «Транспортные протоколы подключения».
--shared-memory-base-name=
имя
В Windows имя общей памяти, используемое для соединений. сделан с использованием общей памяти на локальный сервер. По умолчанию значение
MYSQL
. Имя общей памяти деликатный случай.Этот параметр применяется только в том случае, если сервер был запущен с
общая_память
система переменная включена для поддержки соединений с общей памятью.--socket=
,путь
-S
путь
В Unix имя файла сокета Unix, используемого для соединения, сделанные с использованием именованного канала к локальному серверу. имя файла сокета Unix по умолчанию
/tmp/mysql.sock
.В Windows имя именованного канала, используемого для соединения с локальным сервером. Имя канала Windows по умолчанию это
MySQL
. Имя трубы не деликатный случай.В Windows этот параметр применяется, только если сервер был началось с
named_pipe
системная переменная включена для поддержки соединений именованных каналов. Кроме того, пользователь, выполняющий подключение, должен быть членом группы Windows, указаннойnamed_pipe_full_access_group
системная переменная.--user=
,имя_пользователя
-u
имя_пользователя
Имя пользователя учетной записи MySQL для подключения к сервер. Имя пользователя по умолчанию —
ODBC
. в Windows или ваше имя для входа в Unix в Unix.
Опции команды для зашифрованных соединений
В этом разделе описываются параметры клиентских программ, которые задают следует ли использовать зашифрованные соединения с сервером, имена файлы сертификатов и ключей, а также другие параметры, связанные с поддержка зашифрованного соединения. Примеры рекомендуемого использования и как проверить, зашифровано ли соединение, см. Раздел 6.3.1, «Настройка MySQL для использования зашифрованных соединений».
Примечание
Эти параметры действуют только для соединений, использующих транспортный протокол подлежит шифрованию; то есть TCP/IP и Соединения сокет-файл Unix. Видеть Раздел 4.2.7, «Транспортные протоколы подключения»
Для получения информации об использовании зашифрованных соединений из MySQL C API, см. Поддержка зашифрованных соединений.
Таблица 4.4. Сводка параметров подключения и шифрования
--получить-открытый-ключ-сервера
Запросите у сервера открытый ключ, необходимый для ключа RSA. парный обмен паролями. Этот вариант относится к клиентам которые аутентифицируются с помощью
caching_sha2_password
аутентификация плагин. Для этого плагина сервер не отправляет общедоступные ключ, если не требуется. Этот параметр игнорируется для учетных записей которые не аутентифицируются с помощью этого плагина. Это также игнорируется, если обмен паролями на основе RSA не используется, т.к. случай, когда клиент подключается к серверу с помощью безопасное соединение.Если
--server-public-key-path=
задан и указывает допустимый файл открытого ключа, требуется приоритет надимя_файла
--получить-открытый-ключ-сервера
.Для получения информации о
caching_sha2_password
плагин, см. Раздел 6.4.1.2, «Кэширование подключаемой аутентификации SHA-2».--server-public-key-path=
имя_файла
Путь к файлу в формате PEM, содержащему клиентская копия открытого ключа, требуемого сервером для обмена паролями на основе пары ключей RSA. Этот вариант применяется к клиентам, которые аутентифицируются с помощью
sha256_пароль
илиcaching_sha2_password
аутентификация плагин. Этот параметр игнорируется для учетных записей, которые не пройти аутентификацию с помощью одного из этих плагинов. Это также игнорируется если обмен паролями на основе RSA не используется, как в случае когда клиент подключается к серверу, используя безопасный связь.Если
--server-public-key-path=
задан и указывает допустимый файл открытого ключа, требуется приоритет надимя_файла
--получить-открытый-ключ-сервера
.Эта опция доступна, только если MySQL был собран с использованием OpenSSL.
Для получения информации о
sha256_password
иcaching_sha2_password
плагины, см. Раздел 6.4.1.3, «Подключаемая аутентификация SHA-256» и Раздел 6.4.1.2, «Кэширование подключаемой аутентификации SHA-2».--ssl-ca=
имя_файла
Путь к сертификату центра сертификации (CA) файл в формате PEM. Файл содержит список доверенных SSL Центры сертификации.
Сообщить клиенту не аутентифицировать сервер сертификат при установлении зашифрованного соединения с сервер, не указывайте ни
--ssl-ca
ни--ssl-capath
. Сервер по-прежнему проверяет клиента в соответствии с любым применимым требования, установленные для учетной записи клиента, и это по-прежнему использует любойssl_ca
илиssl_capath
системная переменная значения, указанные на стороне сервера.Чтобы указать файл CA для сервера, установите
ssl_ca
системная переменная.--ssl-capath=
имя_каталога
Путь к каталогу, содержащему доверенный SSL файлы сертификатов центра сертификации (CA) в формате PEM.
Сообщить клиенту не аутентифицировать сервер сертификат при установлении зашифрованного соединения с сервер, не указывайте ни
--ssl-ca
ни--ssl-капат
. Сервер по-прежнему проверяет клиента в соответствии с любым применимым требования, установленные для учетной записи клиента, и это по-прежнему использует любойssl_ca
илиssl_capath
системная переменная значения, указанные на стороне сервера.Чтобы указать каталог ЦС для сервера, установите
ssl_capath
системная переменная.--ssl-cert=
имя_файла
Путь к файлу сертификата открытого ключа SSL клиента. в формате PEM.
Чтобы указать файл сертификата открытого ключа SSL сервера, установите система
ssl_cert
переменная.Примечание
В версии 8.0.30 добавлена поддержка связанных SSL-сертификатов; ранее читался только первый сертификат.
--ssl-cipher=
список_шифров
Список допустимых шифровальных шифров для соединений которые используют протоколы TLS до TLSv1.2. Если нет шифра в список поддерживается, зашифрованные соединения, которые используют эти Протоколы TLS не работают.
Для наибольшей портативности,
cipher_list
должен быть списком одно или несколько имен шифров, разделенных двоеточиями. Примеры:--ssl-шифр=AES128-SHA --ssl-cipher=DHE-RSA-AES128-GCM-SHA256:AES128-SHA
OpenSSL поддерживает синтаксис для указания шифров, описанный в документации OpenSSL на https://www.openssl.org/docs/manmaster/man1/ciphers.html.
Для получения информации о том, какие шифровальные шифры MySQL поддерживает, см. Раздел 6.3.2, «Протоколы и шифры TLS для зашифрованного соединения».
Чтобы указать шифровальные шифры для сервера, установите
ssl_cipher
системная переменная.--ssl-crl=
имя_файла
Путь к файлу, содержащему отзыв сертификата списки в формате PEM.
Если ни
--ssl-crl
, ни--ssl-crlpath
задан, нет Проверки CRL выполняются, даже если путь ЦС содержит списки отозванных сертификатов.Чтобы указать файл списка отзыва для сервера, установите
ssl_crl
системная переменная.--ssl-crlpath=
имя_каталога
Путь к каталогу, содержащему сертификат файлы списка отзыва в формате PEM.
Если ни
--ssl-crl
, ни--ssl-crlpath
дано, нет Проверки CRL выполняются, даже если путь ЦС содержит списки отозванных сертификатов.Чтобы указать каталог списка отзыва для сервера, установите система
ssl_crlpath
переменная.--ssl-fips-mode={OFF|ON|STRICT}
Определяет, следует ли включать режим FIPS на стороне клиента.
--ssl-fips-mode
опция отличается от других--ssl-
варианты в том, что он не используется для установления зашифрованного соединений, а скорее влиять на то, какие криптографические операции разрешить. См. Раздел 6.8, «Поддержка FIPS».ххх
Эти значения
--ssl-fips-mode
допустимы:OFF
: Отключить режим FIPS.ON
: Включить режим FIPS.СТРОГО
: Включить «строгий» режим ФИПС.
Примечание
Если объектный модуль OpenSSL FIPS недоступен, единственное допустимое значение для
--ssl-fips-режим
ВЫКЛ.
. В этом случае установка--ssl-fips-режим
доПО
илиСТРОГО
причины клиент выдает предупреждение при запуске и работает в режиме без FIPS.Чтобы указать режим FIPS для сервера, установите
система ssl_fips_mode
переменная.--ssl-key=
имя_файла
Путь к файлу закрытого ключа SSL клиента в PEM формат. Для большей безопасности используйте сертификат с RSA. размер ключа не менее 2048 бит.
Если файл ключа защищен парольной фразой, клиент программа запрашивает у пользователя парольную фразу. Пароль должны быть предоставлены в интерактивном режиме; его нельзя сохранить в файле. Если парольная фраза неверна, программа продолжает работу, как если бы он не мог прочитать ключ.
Чтобы указать файл закрытого ключа SSL сервера, установите
ssl_key
системная переменная.--ssl-mode=
режим
Этот параметр определяет желаемое состояние безопасности подключение к серверу. Эти значения режима допустимы, в порядке возрастания строгости:
ОТКЛЮЧЕНО
: Установить незашифрованную связь.ПРЕДПОЧТИТЕЛЬНЫЙ
: Установить зашифрованный соединение, если сервер поддерживает зашифрованные соединения, откат к незашифрованному соединению, если шифрованное соединение не может быть установлено. Это по умолчанию, если--ssl-режим
есть не определен.Соединения через файлы сокетов Unix не шифруются с режимом
ПРЕДПОЧТИТЕЛЬНЫЙ
. Для обеспечения шифрование для соединений сокет-файл Unix, используйте режимТРЕБУЕТСЯ
или строже. (Однако, транспорт сокет-файла по умолчанию безопасен, поэтому шифрование соединения сокет-файл делает его не более безопасно и увеличивает нагрузку на ЦП. )ТРЕБУЕТСЯ
: Установить зашифрованную соединение, если сервер поддерживает зашифрованные соединения. Попытка подключения не удалась, если зашифрованное соединение не может быть установлено.VERIFY_CA
: НравитсяТРЕБУЕТСЯ
, но дополнительно проверьте сертификат центра сертификации сервера (CA) против настроенные сертификаты ЦС. Попытка подключения терпит неудачу, если не найдены действительные совпадающие сертификаты ЦС.VERIFY_IDENTITY
: НравитсяVERIFY_CA
, но дополнительно выполнить проверка подлинности имени хоста путем проверки хоста имя, которое клиент использует для подключения к серверу против личности в сертификате, что сервер отправляет клиенту:Начиная с MySQL 8. 0.12, если клиент использует OpenSSL 1.0.2 или выше, клиент проверяет, соответствует ли имя хоста который он использует для соединения, соответствует либо Значение альтернативного имени субъекта или общее имя значение в сертификате сервера. Идентификация имени хоста проверка также работает с сертификатами, которые укажите общее имя с помощью подстановочных знаков.
В противном случае клиент проверяет, соответствует ли имя хоста который он использует для подключения, соответствует общему имени значение в сертификате сервера.
Соединение завершается ошибкой, если есть несоответствие. За зашифрованные соединения, эта опция помогает предотвратить атака «человек посередине».
Примечание
Проверка подлинности имени хоста с помощью
VERIFY_IDENTITY
не работает с самоподписанные сертификаты, которые создаются автоматически сервером или вручную с помощью mysql_ssl_rsa_setup (см. Раздел 6.3.3.1, «Создание сертификатов и ключей SSL и RSA с использованием MySQL»). Такие самоподписанные сертификаты не содержат имя сервера в качестве значения Common Name.
Важно
Настройка по умолчанию,
--ssl-mode=ПРЕДПОЧТИТЕЛЬНЫЙ
, создает зашифрованное соединение, если другое значение по умолчанию настройки не изменились. Однако помочь предотвратить изощренные атаки «человек посередине», важно для клиента, чтобы проверить личность сервера. настройки--ssl-mode=VERIFY_CA
и--ssl-mode=VERIFY_IDENTITY
лучший выбор, чем настройка по умолчанию, чтобы помочь предотвратить этот тип атаки. Для реализации одного из этих настройки, вы должны сначала убедиться, что сертификат ЦС сервер надежно доступен для всех клиентов которые используют его в вашей среде, в противном случае доступность возникнут проблемы. По этой причине они не являются настройки по умолчанию.Параметр
--ssl-mode
взаимодействует с параметрами сертификата ЦС следующим образом:Если
--ssl-mode
не явно указано иное, использование--ssl-ca
или--ssl-capath
подразумевает--ssl-mode=VERIFY_CA
.Для
--ssl-mode
значенияVERIFY_CA
илиVERIFY_IDENTITY
,--ssl-ca
или--ssl-capath
также требуется, чтобы предоставить сертификат ЦС, соответствующий тот, который используется сервером.Явный
--ssl-mode
опция со значением, отличным отVERIFY_CA
илиVERIFY_IDENTITY
вместе с явный--ssl-ca
или--опция ssl-capath
, выдает предупреждение что нет проверки сервера сертификат выполняется, несмотря на сертификат CA уточняется вариант.
Чтобы требовать использования зашифрованных соединений учетной записью MySQL, используйте
CREATE USER
для создания учетная запись сТРЕБУЕТСЯ SSL 9пункт 0035 или использовать
ALTER USER
для существующего учетной записи, чтобы добавить пунктREQUIRE SSL
. Этот вызывает попытки подключения со стороны клиентов, использующих учетную запись быть отклоненным, если MySQL не поддерживает зашифрованные соединения и может быть установлено зашифрованное соединение.Пункт
REQUIRE
разрешает другие параметры, связанные с шифрованием, которые можно использовать для принудительного требования безопасности вышеТРЕБУЕТСЯ SSL
. Дополнительные сведения о том, какая команда параметры могут или должны быть указаны клиентами, которые подключаются используя учетные записи, настроенные с использованием различныхТРЕБУЕТСЯ
опции, см. СОЗДАТЬ ПОЛЬЗОВАТЕЛЬСКИЕ Параметры SSL/TLS.--ssl-session-data=
имя_файла
Путь к файлу данных сеанса SSL клиента в PEM формат для повторного использования сеанса.
Когда вы вызываете клиентскую программу MySQL с
--ssl-session-data
опция, клиент пытается десериализовать данные сеанса из файл, если он есть, а затем использовать его для создания нового связь. Если вы предоставляете файл, но сеанс не используется повторно, то соединение завершается сбоем, если вы также не указали в--ssl-session-data-continue-on-failed-reuse
параметр в командной строке при вызове клиента программа.Команда mysql ,
ssl_session_data_print
генерирует файл данных сеанса (см. раздел 4.5.1.2, «Команды клиента mysql»).ssl-session-data-continue-on-fail-reuse
Определяет, запускается ли новое соединение для замены попытка подключения, которая пыталась, но не смогла повторно использовать сеанс данные, указанные с помощью
--ssl-данные сеанса
параметр командной строки. По умолчанию--ssl-session-data-continue-on-failed-reuse
параметр командной строки отключен, что приводит к тому, что клиентская программа вернуть ошибку подключения, когда данные сеанса предоставлены и повторно не используется.Чтобы гарантировать, что новое, несвязанное соединение открывается после повторное использование сеанса завершается неудачно, вызовите клиентские программы MySQL с обоими
--ssl-session-data
и--ssl-session-data-continue-on-failed-reuse
параметры командной строки.--tls-ciphersuites=
ciphersuite_list
Этот параметр указывает, какие наборы шифров разрешены клиентом. для зашифрованных соединений, использующих TLSv1.3. Значение представляет собой список из нуля или более имен наборов шифров, разделенных двоеточиями. За пример:
mysql --tls-ciphersuites=" Suite1 : Suite2 : Suite3 "
Наборы шифров, которые могут быть названы для этой опции, зависят от библиотека SSL, используемая для компиляции MySQL. Если этот вариант не установлен, клиент разрешает набор наборов шифров по умолчанию. Если опция установлена на пустую строку, наборы шифров не включенные и зашифрованные соединения не могут быть установлены. За больше информации см. Раздел 6.3.2, «Протоколы и шифры TLS для зашифрованного соединения».
Эта опция была добавлена в MySQL 8.0.16.
Чтобы указать, какие наборы шифров разрешены сервером, установите
система tls_ciphersuites
переменная.--tls-version=
список_протоколов
Этот параметр указывает протоколы TLS, которые разрешает клиент. для зашифрованных соединений. Значение представляет собой список из одного или больше версий протокола, разделенных запятыми. Например:
mysql --tls-версия = "TLSv1.2, TLSv1.3"
Протоколы, которые могут быть названы для этой опции, зависят от библиотека SSL, используемая для компиляции MySQL, и на MySQL Релиз сервера.
Важно
Поддержка протоколов подключения TLSv1 и TLSv1.1. удален из MySQL Server начиная с MySQL 8. 0.28. протоколы устарели из MySQL 8.0.26, хотя Клиенты MySQL Server не возвращают предупреждения пользователя, если используется устаревшая версия протокола TLS. Начиная с MySQL 8.0.28 клиенты, включая MySQL Оболочка, поддерживающая
--tls-версия
опция не удается установить соединение TLS/SSL с установленным протоколом на TLSv1 или TLSv1.1. Если клиент пытается подключиться используя эти протоколы, для TCP-соединений не удается установить соединение, и возвращается ошибка клиент. Для сокетных соединений, если--ssl-mode
установлен наТРЕБУЕТСЯ
, соединение не установлено, в противном случае соединение выполняется, но с использованием TLS/SSL инвалид. Видеть Удаление поддержки протоколов TLSv1 и TLSv1. 1 Чтобы получить больше информации.Поддержка протокола TLSv1.3 доступна в MySQL. Сервер начиная с MySQL 8.0.16, при условии, что MySQL Server был скомпилирован с использованием OpenSSL 1.1.1 или выше. Сервер проверяет версию OpenSSL при запуске, и если она ниже 1.1.1, TLSv1.3 удален из значения по умолчанию значение для системных переменных сервера, относящихся к версия TLS (например,
tls_version
система переменная).
Разрешенные протоколы следует выбирать такие, чтобы не оставлять «дыры» в списке. Например, эти значения не имеют отверстий:
--tls-version="TLSv1,TLSv1.1,TLSv1.2,TLSv1.3" --tls-версия="TLSv1.1,TLSv1.2,TLSv1.3" --tls-версия="TLSv1.2,TLSv1.3" --tls-версия="TLSv1.3" Начиная с MySQL 8. 0.28 подходят только два последних значения.
Эти значения имеют пробелы и не должны использоваться:
--tls-версия = "TLSv1, TLSv1.2" --tls-version="TLSv1.1,TLSv1.3"
Подробнее см. Раздел 6.3.2, «Протоколы и шифры TLS для зашифрованного соединения».
Чтобы указать, какие протоколы TLS разрешает сервер, установите
tls_version
система переменная.
Опции команды для сжатия соединения
В этом разделе описываются параметры, позволяющие клиентским программам контролировать использование сжатия для соединений с сервером. За дополнительную информацию и примеры, показывающие, как их использовать, см. Раздел 4.2.8, «Управление сжатием соединения».
Таблица 4.5. Сводка параметров соединения и сжатия
--сжать
,-С
Сжатие всей информации, передаваемой между клиентом и сервер, если можно.
Начиная с MySQL 8.0.18, эта опция устарела. Ожидайте, что быть удалены в будущей версии MySQL. Видеть Настройка сжатия устаревшего соединения.
--compression-algorithms=
значение
Разрешенные алгоритмы сжатия для подключений к сервер. Доступные алгоритмы такие же, как и для
protocol_compression_algorithms
системная переменная. Значение по умолчаниюбез сжатия
.Эта опция была добавлена в MySQL 8.0.18.
--zstd-compression-level=
уровень
Уровень сжатия для подключения к серверу которые используют алгоритм сжатия
zstd
. Допустимые уровни от 1 до 22, с большими значениями указывает на увеличение степени сжатия. По умолчаниюzstd
уровень сжатия 3. настройка уровня сжатия не влияет на соединения, которые не использоватьzstd
сжатие.Эта опция была добавлена в MySQL 8.0.18.
Как подключиться к серверу MySQL
Во второй статье серии, посвященной началу работы с MySQL, мы поговорим о способах подключения к серверу MySQL.
Вы можете подключиться к серверу MySQL с помощью клиента MySQL, dbForge Studio для MySQL и MySQL Workbench. В этой статье мы подробно рассмотрим каждый способ.
Подключение к MySQL с помощью клиента командной строки MySQL
Подключение к MySQL с помощью dbForge Studio для MySQL
Подключение к MySQL с помощью MySQL Workbench
Подключение к MySQL с помощью клиента командной строки MySQL
В первой статье нашей серии мы предоставили подробное пошаговое руководство с описанием аспектов установки Сервер MySQL в Windows. В этом руководстве мы исходим из того факта, что ваш сервер MySQL запущен и работает.
Для подключения к серверу MySQL:
- Найдите клиент командной строки MySQL
Сервер MySQL обычно устанавливается вместе с консольным клиентом для работы с базами данных. В Windows клиент командной строки MySQL находится в меню «Пуск». Обратите внимание, что клиент устанавливается в двух версиях — с поддержкой Unicode и без нее.
- Запустить клиент
Когда вы запускаете клиент командной строки MySQL Server, открывается окно командной строки с просьбой ввести пароль.
- Введите пароль
Здесь вам нужно войти в MySQL из командной строки, введя пароль, который был установлен для пользователя root во время установки MySQL.
В случае успешного подключения вы увидите примерно следующее: - Получить список баз данных
Введите команду show databases , чтобы получить список баз данных на нашем сервере MySQL.
- Создать базу данных
Чтобы создать новую базу данных, используйте create database 9Команда 0007.
- Выберите базу данных, которую вы хотите использовать
Чтобы подключиться к определенной базе данных MySQL, в командной строке MySQL введите команду use database и укажите имя базы данных, которую вы хотите использовать.
- Создать таблицу и вставить данные
Используйте команды create table и insert into , чтобы создать таблицу в нашей базе данных и вставить в нее данные.
- Завершить работу с клиентом командной строки MySQL
Чтобы выйти из клиента MySQL, введите quit в командной строке и нажмите Enter.
Подключение к MySQL с помощью dbForge Studio для MySQL
dbForge Studio для MySQL — это универсальный инструмент MySQL с графическим интерфейсом премиум-класса, позволяющий разрабатывать, управлять и администрировать базы данных MySQL в многофункциональной среде. С помощью dbForge Studio для MySQL вы можете быстро и легко настроить подключение к удаленной базе данных, а также подключиться к локальному серверу.
Для подключения к серверу MySQL с помощью Studio for MySQL:
1. Откройте диалоговое окно «Свойства подключения к базе данных» одним из следующих способов:
нажмите New Connection в меню Database
или
нажмите кнопку New Connection на панели инструментов Connection .
2. Выберите тип подключения в поле Type . Доступны два типа подключения: TCP/IP и именованный канал.
3. Введите имя хоста в поле Хост .
4. Для TCP/IP-подключения введите информацию о порте в Порт ящик. Номер порта по умолчанию — 3306. Для соединения с именованным каналом введите имя канала в поле Pipe .
5. Введите учетные данные для входа в поля Пользователь и Пароль .
6. В поле База данных введите или выберите имя базы данных, к которой вы хотите подключиться.
7. Имя соединения будет создано автоматически из имени хоста. Однако при необходимости вы можете создать отличительное имя для вашего нового подключения.
8. (Необязательный шаг). Вы можете нажать Advanced , чтобы настроить дополнительные свойства подключения. На вкладке «Дополнительно» можно указать значения Connection timeout и Execute timeout в секундах. Здесь вы также можете выбрать тип кодировки из раскрывающегося списка и включить параметры «Обнаружение набора символов MySQL », « Использовать сжатие » и « Поддерживать соединение в активном состоянии ».
9. (Необязательный шаг). Вы можете нажать Security для настройки свойств безопасности. На этой вкладке вы можете настроить свойства безопасности SSL или SSH.
10. (Необязательный шаг). Вы можете перейти на вкладку HTTP , чтобы настроить свойства туннеля HTTP.
11. (Необязательный шаг). Нажмите Test Connection , чтобы убедиться, что вы можете получить доступ к MySQL Server, используя указанную вами информацию о подключении.
12. Нажмите OK , чтобы создать подключение.
Как видите, dbForge Studio для MySQL предлагает наглядный и простой способ подключения к серверу MySQL. Это также дает вам больше контроля над конфигурациями подключения.
Подключение к MySQL с помощью MySQL Workbench
MySQL Workbench – популярный унифицированный визуальный инструмент для архитекторов баз данных, разработчиков и администраторов баз данных.
Для доступа к серверу MySQL с помощью Workbench:
1. Запустите MySQL Workbench.
2. В меню Database выберите Connect to Database.
Можно также щелкнуть значок плюса рядом с меткой MySQL Connections .
3. В появившемся окне «Подключение к базе данных» укажите имя подключения, а также укажите имя хоста, порт и пользовательские значения.
4. (Необязательный шаг). Перейдите на вкладку SSL, чтобы настроить параметры SSL-соединения.
5. (Необязательный шаг). Перейдите на вкладку «Дополнительно», чтобы настроить дополнительные параметры подключения.
6. При желании вы можете нажать Test Connection, чтобы проверить введенные вами параметры. Если вы уверены, что все учетные данные верны, нажмите OK .
7. Введите пароль.
7. Если вы успешно подключились к серверу MySQL, слева вы увидите список баз данных.
Заключение
В этой статье мы представили три способа подключения к серверу MySQL. И dbForge Studio для MySQL, и MySQL Workbench могут похвастаться визуальными и всеобъемлющими мастерами подключения, позволяющими легко подключиться к серверу MySQL за считанные секунды. Оба решения имеют возможности для настройки дополнительных параметров.
dbForge Studio для MySQL — достойная альтернатива MySQL Workbench. Более того, по многим параметрам он превосходит по функциональности.
Наряду с dbForge Studio для MySQL инструменты базы данных dbForge для MySQL также имеют наглядные и удобные мастера подключения, которые помогают быстро и легко подключиться к серверу MySQL и конкретной базе данных.
- Автор
- Последние сообщения
командная строка, подключение к базе данных, подключение к mysql, администрирование базы данных, mysql
Строки подключения MySQL - ConnectionStrings.com
Стандарт
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Указание порта TCP
Сервер=myServerAddress;Порт=1234;База данных=myDataBase;Uid=myUsername;Pwd=myPassword;
Несколько серверов
Используйте это для подключения к серверу в конфигурации реплицированного сервера, не заботясь о том, какой сервер использовать.
Сервер=serverAddress1, serverAddress2, serverAddress3;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Использование шифрования (старое)
Активирует шифрование SSL для всех данных, пересылаемых между клиентом и сервером. На сервере должен быть установлен сертификат.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Encrypt=true;
Использование шифрования (новое)
Использовать SSL, если сервер его поддерживает, но разрешать соединение во всех случаях
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;SslMode=Preferred;
Принудительное шифрование
Всегда используйте SSL. Запретить подключение, если сервер не поддерживает SSL.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;SslMode=Required;
SSL с файловым сертификатом
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;SSL Mode=Required;CertificateFile=C:\folder\client.pfx;CertificatePassword=pass;
SSL с личным сертификатом магазина
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;SSL Mode=Required;Certificate Store Location=CurrentUser;
SSL с личным сертификатом на основе отпечатка пальца
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;SSL Mode=Required;Certificate Store Location=CurrentUser;Certificate Thumbprint=479436009a40f3017a145cf8479e7694d7aadef0;
Запретить партии
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;AllowBatch=False;
Разрешить пользовательские переменные
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;AllowUserVariables=True;
Неверный DateTime 1
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;AllowZeroDateTime=True;
Неверный DateTime's 2
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;ConvertZeroDateTime=True;
Отключить участие в транзакции
Использование автоматического добавления в список транзакций (поведение по умолчанию) может вызвать проблемы в средах со средним уровнем доверия.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;AutoEnlist=False;
Пропустить проверку параметров для сохраненных подпрограмм
По умолчанию параметры хранимых подпрограмм (хранимые процедуры) проверяются на сервере
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;CheckParameters=False;
Пропустить тип параметра и соответствие порядка для хранимых процедур
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;UseProcedureBodies=False;
Использовать кэширование таблиц
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;tablecache=true;DefaultTableCacheAge=30;
Подсчет измененных строк вместо найденных
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;UseAffectedRows=True;
Сжать сетевую связь между клиентом и сервером
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;UseCompression=True;
Журнал неэффективных операций с базой данных
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;UseUsageAdvisor=True;
Включить счетчики производительности
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;UsePerformanceMonitor=True;
Пул соединений
Начиная с версии 6. 2 из пула удаляются неработающие соединения, освобождая ресурсы на клиенте (сокеты) и на сервере (сокеты и потоки). Не сохраняйте вручную (глобальные) соединения и открывайте и закрывайте. Сохраняйте создание и удаление объекта подключения как можно более строгим, это может быть нелогичным, но механизмы пула хорошо позаботятся о кэшировании, и ваш код будет чище.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Pooling=True;
Размер пула соединений
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;MinimumPoolSize=10;maximumpoolsize=50;
Отключить пул соединений
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Pooling=False;
Сброс состояния соединения при получении из пула
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;ConnectionReset=True;
Повторное использование соединений в пуле
Это полезно в сценариях балансировки нагрузки, когда доступные серверы изменяются, и вы не хотите, чтобы 100 постоянных подключений в пуле указывали только на один сервер.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;ConnectionLifeTime=300;
Не обновлять параметры сервера для соединений в пуле
Соединение может быть долгоживущим в пуле, однако настройки сервера соединений обновляются (команда SHOW VARIABLES) каждый раз, когда возвращаются в пул. Это позволяет клиенту использовать объект подключения в актуальном состоянии с правильными настройками сервера. Однако это приводит к двустороннему обходу, и для оптимизации производительности пула это поведение можно отключить.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;CacheServerProperties=True;
Использовать аутентификацию Windows
Server=myServerAddress;Database=myDataBase;IntegratedSecurity=yes;Uid=auth_windows;
Поддерживать TCP-сокеты активными
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Keepalive=10;
Использовать ДВОИЧНЫЕ (16) идентификаторы GUID
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;OldGuids=True;
Отключить кэш хранимых процедур
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;ProcedureCacheSize=0;
Разрешить квадратные скобки вокруг символов (вместо обратных кавычек)
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;sqlservermode=True;
Указание времени ожидания команды по умолчанию
Используйте этот параметр, чтобы указать время ожидания команды по умолчанию для соединения. Обратите внимание, что свойство в строке подключения не заменяет индивидуальное свойство тайм-аута команды в отдельном объекте команды.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;тайм-аут команды по умолчанию=20;
Указание времени ожидания попытки подключения
Используйте этот параметр, чтобы указать время в секундах ожидания подключения к серверу, прежде чем прервать попытку и получить сообщение об ошибке.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Время ожидания подключения=5;
Деактивация подготовленных операторов
Используйте это, чтобы проинструктировать провайдера игнорировать любые операторы подготовки команды и предотвратить проблемы с повреждением с подготовленными операторами на стороне сервера.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Игнорировать Подготовка=true;
Указание сетевого протокола
Используйте этот параметр, чтобы указать, какой сетевой протокол использовать для подключения.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Protocol=socket;
Протокол общей памяти
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Protocol=memory;Shared Memory Name=MYSQL;
Протокол именованных каналов
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Protocol=pipe;PipeName=mypipename;
Альтернатива именованным каналам
Сервер=myServerAddress;Порт=-1;База данных=myDataBase;Uid=myUsername;Pwd=myPassword;
Соединение сокета Unix
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Protocol=memory;Shared Memory Name=MYSQL;
Указание набора символов
Используйте этот параметр, чтобы указать, какой набор символов использовать для кодирования запросов, отправляемых на сервер.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;CharSet=utf8;
↯ Проблемы с подключением ?Получить ответ на форуме вопросов и ответов MySQL
Стандарт
Location=myServerAddress;Data Source=myDataBase;User ID=myUsername;Password=myPassword;Port=3306;Extended Properties="""";
Стандарт
Host=myServerAddress;UserName=myUsername;Password=myPassword;Database=myDataBase;
Стандарт
ID пользователя=root;Пароль=мойПароль;Хост=localhost;Порт=3306;База данных=myDataBase;Прямой=истина;Протокол=TCP;Сжатие=ложь;Пулинг=истина;Минимальный размер пула=0;Максимальный размер пула=100; Время жизни соединения=0;
Стандарт
Provider=MySQLProv;Источник данных=mydb;Идентификатор пользователя=myUsername;Пароль=myPassword;
Стандарт
Источник данных = адрес моего сервера; база данных = моя база данных; идентификатор пользователя = мое имя пользователя; пароль = мой пароль; ведение журнала команд = ложь;
Использовать поставщика OLE DB из .
NET Provider=имя любого поставщика oledb;OledbKey1=someValue;OledbKey2=someValue;
Unicode-версия драйвера
Драйвер = {Драйвер MySQL ODBC 5.2 UNICODE}; Сервер = локальный; База данных = моя база данных; Пользователь = мое имя пользователя; Пароль = мой пароль; Параметр = 3;
Локальная база данных
Driver = {MySQL ODBC 5.2 ANSI Driver}; Server = localhost; Database = myDataBase; User = myUsername; Password = myPassword; Option = 3;
На 64-битной машине
Похоже, нам нужно указать MSDASQL, чтобы (32-разрядный) драйвер ODBC работал на 64-разрядных машинах.
Provider=MSDASQL;Driver={MySQL ODBC 5.2 ANSI Driver};Server=localhost;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Удаленная база данных
Driver = {MySQL ODBC 5.2 ANSI Driver}; Server = myServerAddress; Database = myDataBase; User = myUsername; Password = myPassword; Option = 3;
Указание порта TCP/IP
Driver = {MySQL ODBC 5. 2 ANSI Driver}; Server = myServerAddress; Port = 3306; Database = myDataBase; User = myUsername; Password = myPassword; Option = 3;
Указание набора символов
Driver = {MySQL ODBC 5.2 ANSI Driver}; Server = myServerAddress; charset = UTF8; Database = myDataBase; User = myUsername; Password = myPassword; Option = 3;
Указание сокета
Указывает файл сокета Unix или именованный канал Windows для подключения. Используется только для локальных клиентских подключений.
Driver={MySQL ODBC 5.2 ANSI Driver};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;Socket=MySQL;Option=3;
Использование SSL
Driver={MySQL ODBC 5.2 ANSI Driver};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;sslca=c:\cacert.pem;sslcert=c:\client-cert.pem;sslkey=c :\client-key.pem;sslverify=1;
Опция=3;
Локальная база данных
Driver={Драйвер MySQL ODBC 5. 1};Server=localhost;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
На 64-битной машине
Похоже, нам нужно указать MSDASQL, чтобы (32-разрядный) драйвер ODBC работал на 64-разрядных машинах.
Provider=MSDASQL;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
64-битная версия драйвера
Обратите внимание на букву "w" в имени драйвера.
Driver={MySQL ODBC 5.2w Driver};Server=localhost;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Версия 5.2.5 новое имя
MySQL ODBC Connector версии 5.2.5 и выше регистрируется как «Драйвер MySQL ODBC 5.2 Unicode» и «Драйвер MySQL ODBC 5.2 ANSI».
Драйвер = {Драйвер MySQL ODBC 5.2 ANSI}; Сервер = локальный хост; База данных = myDataBase; Пользователь=myUsername;Пароль=myPassword;Option=3;
Удаленная база данных
Driver={Драйвер MySQL ODBC 5. 1};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Указание порта TCP/IP
Driver={Драйвер MySQL ODBC 5.1};Server=myServerAddress;Port=3306;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Указание набора символов
Driver={Драйвер MySQL ODBC 5.1};Server=myServerAddress;charset=UTF8;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Указание сокета
Указывает файл сокета Unix или именованный канал Windows для подключения. Используется только для локальных клиентских подключений.
Driver={Драйвер MySQL ODBC 5.1};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;Socket=MySQL;Option=3;
Использование SSL
Driver={Драйвер MySQL ODBC 5.1};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;sslca=c:\cacert.pem;sslcert=c:\client-cert. pem;sslkey=c: \client-key.pem;sslverify=1;
Опция=3;
Локальная база данных
Driver={Драйвер MySQL ODBC 3.51};Server=localhost;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Удаленная база данных
Driver={Драйвер MySQL ODBC 3.51};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Указание порта TCP/IP
Driver={Драйвер MySQL ODBC 3.51};Server=myServerAddress;Port=3306;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Указание набора символов
Driver={Драйвер MySQL ODBC 3.51};Server=myServerAddress;charset=UTF8;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Указание сокета
Указывает файл сокета Unix или именованный канал Windows для подключения. Используется только для локальных клиентских подключений.
Driver={Драйвер MySQL ODBC 3.51};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;Socket=MySQL;Option=3;
Использование SSL
Driver={MySQL ODBC 3.51 Driver};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;sslca=c:\cacert.pem;sslcert=c:\client-cert.pem;sslkey=c: \client-key.pem;sslverify=1;
Опция=3;
Локальная база данных
Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;
Удаленная база данных
Driver={mySQL};Server=myServerAddress;Option=131072;Stmt=;Database=myDataBase;User=myUsername;Password=myPassword;
Указание порта TCP/IP
Driver={mySQL};Server=myServerAddress;Port=3306;Option=131072;Stmt=;Database=myDataBase;User=myUsername;Password=myPassword;
Используйте драйвер ODBC из .
NET Driver={имя любого драйвера odbc};OdbcKey1=someValue;OdbcKey2=someValue;
задать вопрос »
Конфигурация Mysql с основным проектом asp.net Соединение MYSQL с ограниченными разрешениями EXCEL VBA Подключить TimeOut на MariaDB соединение, открыть так медленно Я не могу подключиться к базе данных через визуальную студию или мое приложение, но я могу подключиться с помощью mysql workbench
посмотреть все »
Правила форматирования строк подключения Объяснение строк подключения Сохранить строку подключения в Web.config Пул соединений Объяснение ключевого слова поставщика, ProgID, управления версиями и COM CLSID Хранить и читать строку подключения в appsettings.json Справочник по типам данных SQL Server Сетевой протокол для подключения к SQL Server Все свойства SQL Server SqlConnection Когда использовать собственный клиент SQL
коннектор базы данных MySQL (ссылка) | Prisma Docs
Коннектор источника данных MySQL соединяет Prisma с сервером базы данных MySQL.
Пример
Для подключения к серверу базы данных MySQL необходимо настроить блок источника данных
в файле схемы Prisma:
schema.prisma
1datasource db {
провайдер 3 url = env("DATABASE_URL")
4}
Поля, передаваемые в блок источника данных
:
-
провайдер
: Указывает коннектор источника данныхmysql
. -
URL-адрес
: указывает URL-адрес подключения к серверу базы данных MySQL. В этом случае для предоставления URL-адреса подключения используется переменная среды.
Сведения о подключении
URL-адрес подключения
Вот обзор компонентов, необходимых для URL-адреса подключения MySQL:
Базовый URL-адрес и путь
Вот пример структуры базового URL-адреса и пути с использованием значений заполнителей в верхнем регистре:
mysql://USER:PASSWORD@HOST:PORT/DATABASE
Следующие компоненты составляют базовый URL вашей базы данных, они всегда требуются:2686 Host
HOST
localhost
ПОРТ
5432
ПОЛЬЗОВАТЕЛЬ
janedoe
ПАРОЛЬ
БАЗА ДАННЫХ
mydb
Вы должны использовать процентное кодирование специальных символов.
Аргументы
URL-адрес подключения также может принимать аргументы. Вот тот же пример выше со значениями-заполнителями в верхнем регистре для трех аргументов :
mysql://USER:PASSWORD@HOST:PORT/DATABASE?KEY1=VALUE&KEY2=VALUE&KEY3=VALUE
The following arguments can be used:
Argument name | Required | Default | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
connection_limit | No | num_cpus * 2 + 1 | Максимальный размер пула соединений | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
connect_timeout | Нет | 5 | Максимальное количество секунд ожидания открытия нового соединения, 0 means no timeout | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pool_timeout | No | 10 | Maximum number of seconds to wait for a new connection from the pool, 0 means no timeout | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sslcert | Нет | Путь к сертификату сервера. Пути сертификатов разрешаются относительно папки ./prisma | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sslidentity | No | Path to the PKCS12 certificate | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sslpassword | No | Password that was used to secure the PKCS12 file | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sslaccept | No | accept_invalid_certs | Configures следует ли проверять отсутствующие значения в сертификате. Возможные значения: accept_invalid_certs , строгий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
сокет | no | Укаточные значения в каталог, который содержит сокет, который будет использоваться для подключения | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Socket_timeout | NO | 9089 9087NO | 9089 9087NO | 9089 9087NO | 9089 9087 8. например, если вы хотите установить размер пула соединений на
Data model | MySQL | Notes | ||
---|---|---|---|---|
String | VARCHAR(191) | |||
Boolean | BOOLEAN | В MySQL BOOLEAN является синонимом TINYINT(1) | ||
Int | INT | 1 | BIGINT | |
Float | DOUBLE | |||
Decimal | DECIMAL(65,30) | |||
DateTime | DATETIME(3) | |||
Json | JSON | Поддерживается только в MySQL 5. 7+ | ||
0035 | LONGBLOB |
Native type mappings
When introspecting a MySQL database, the database types are mapped to Prisma according to the following table:
MySQL | Prisma | Supported | Атрибут типа собственной базы данных | Notes |
---|---|---|---|---|
серийный номер | BigInt | ✔️ | @db.UnsignedBigInt @default(autoincrement()) | |
bigint | BigInt | ✔️ | @db.BigInt | |
bigint unsigned | BigInt | ✔ | @DB.UNSIGNEDBIGINT | |
BIT | BYTES | 8888 | 8 . 0887 | |
логическое значение | tinyint(1) | Boolean | ✔️ | @db.TinyInt(1) | |
varbinary | Bytes | ✔️ | @db.VarBinary | |
лонгблоб | Bytes | ✔️ | @db.LongBlob | |
tinyblob | Bytes | ✔️ | @db.TinyBlob | |
mediumblob | Bytes | ✔ | @db.mediumblob | |
Blob | BYTES 9088 | BYTES 9088 | 8877 ||
binary | Bytes | ✔️ | @db.Binary | |
date | DateTime | ✔️ | @db.Date | |
datetime | DateTime | ✔️ | @db.DateTime | |
timestamp | DateTime | ✔️ | @db.TimeStamp | |
time | DateTime | ✔️ | @db.Time | |
decimal(a,b ) | Decimal | ✔️ | @db.Decimal(x,y) | |
numeric(a,b) | Decimal | ✔️ | @db. Decimal(x,y) | |
enum | Enum | ✔️ | N/A | |
float | Float | ✔️ | @db.Float | |
double | Float | ✔️ | @db.Double | |
smallint | Int | ✔️ | @db.SmallInt | |
smallint unsigned | Int | ✔️ | @db.UnsignedSmallInt | |
mediumint | Int | ✔️ | @db.MediumInt | |
mediumint unsigned | Int | ✔️ | @db. UnsignedMediumInt | |
int | Int | ✔️ | @db.Int | |
int unsigned | Int | ✔️ | @db.unsignedint | |
Tinyint | | ✔ | 9087.0035 maps to Boolean all other tinyint(x) map to Int | |
tinyint unsigned | Int | ✔️ | @db.UnsignedTinyInt(x) | tinyint (1) unsigned does not map to Boolean |
year | Int | ✔️ | @db.Year | |
json | Json | ✔️ | @db. Json | Supported in MySQL 5.7+ only |
char | String | ✔️ | @db. Char(x) | |
varchar | String | ✔️ | @db.VarChar(x) | |
tinytext | String | ✔️ | @db.TinyText | |
text | String | ✔️ | @db.Text | |
mediumtext | Строка | ✔ | @db.mediumtext | |
Longtext | Строка 9088888887 Строка 9088 | 8888787 Строка 9088888887 .0035 | ||
set | Unsupported | Not yet | ||
geometry | Unsupported | Not yet | ||
point | Unsupported | Еще нет | ||
linestring | Не поддерживается | Еще нет | ||
polygon | Unsupported | Not yet | ||
multipoint | Unsupported | Not yet | ||
multilinestring | Unsupported | Еще нет | ||
мультиполигон | Не поддерживается | Еще нет | ||
geometrycollection | Unsupported | Not yet |
Introspection adds native database types that are not yet supported as Unsupported
fields:
schema.