SQLines Data — настройка и устранение неполадок подключения к MySQL
Если вы собираетесь подключиться к базе данных localhost MySQL, вам не нужно настраивать какие-либо дополнительные библиотеки для использования инструмента данных SQLines, поскольку они поставляются с сервером MySQL.
Если вам необходимо подключиться к удаленной базе данных MySQL, в вашей системе должен быть установлен MySQL C API libmysqlclient .
Перед загрузкой проверьте, есть ли у вас библиотеки MySQL:
Linux:
/usr/lib/mysql/libmysqlclient.so
/usr/lib64/mysql/libmysqlclient.so
Windows: (буква диска и версия могут отличаться)
C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll
C:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.dll
C:\Program Files\MySQL\MySQL Connector C 6.
Если клиент MySQL недоступен, перейдите на страницу загрузки MySQL https://dev.mysql.com/downloads/connector/ и загрузите MySQL Connector/C или C API (libmysqlclient) .
Загрузите последнюю версию MySQL Connector/C, например, mysql-connector-c-6.1.9-linux-glibc2.5-x86_64.tar.gz , и извлеките файлы:
tar -xvzf mysql-connector-c-6.1.9-linux-glibc2.5-x86_64.tar.gz
Вы можете найти библиотеку libmysqlclient.so в каталоге lib . Перед запуском команды sqldata добавьте расположение библиотеки MySQL в LD_LIBRARY_PATH :
экспорт LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib
Альтернативный способ установки библиотек MySQL — запустить:
ням установить mysql-devel
Если ваш файл .so заканчивается версией библиотеки, например, libmysqlclient.so.16 затем создайте символическую ссылку, чтобы инструмент данных SQLines мог загрузить необходимую библиотеку:
cd/lib ln -s libmysqlclient. so.16 libmysqlclient.so
При подключении к базе данных MySQL вы можете получить следующую ошибку: «Требуется SSL-соединение. Укажите параметры SSL и повторите попытку»
Используйте параметры соединения SSL в sqldata.cfg или в командной строке:
-mysql_ssl_mode — режим подключения SSL (опция MySQL –ssl-mode), возможные значения: DISABLED, PREFERRED (по умолчанию), REQUIRED, VERIFY_CA и VERIFY_IDENTITY
-mysql_ssl_key — Файл закрытого ключа SSL (опция —ssl-key MySQL), абсолютный путь к файлу
-mysql_ssl_cert — файл сертификата SSL (опция —ssl-cert MySQL), абсолютный путь к файлу в формате PEM
-mysql_ssl_ca — файл SSL CA (опция —ssl-ca MySQL CLI), абсолютный путь к файлу в формате PEM
Когда вы нажимаете «Проверить соединение», вы получаете следующую ошибку:
Возможные причины:
MySQL C API не установлен. Загрузите и установите клиент MySQL C API по адресу http://dev.mysql.com/downloads/connector/
.
MySQL C API установлен, но инструмент данных SQLines не может найти libmysql.dll по какой-то причине. Добавьте каталог, в котором находится libmysql.dll (например, C:\Program Files\MySQL\MySQL Connector C 6.1\lib ) в переменную среды PATH.
Чтобы установить переменную PATH в Windows, щелкните правой кнопкой мыши значок «Компьютер», выберите «Свойства», щелкните «Дополнительные параметры системы». Затем выберите вкладку «Дополнительно» и нажмите кнопку «Переменные среды». Перейдите к системным переменным, найдите и добавьте путь.
Примечание . После изменения переменной среды PATH необходимо перезапустить инструмент SQLines Data.
Вы также можете отредактировать файл конфигурации sqldata.cfg и установить параметр -mysql_lib .
Чтобы устранить эту проблему, установите переменную среды LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1 .
Примечание . Вы должны перезапустить инструмент данных SQLines после добавления переменной среды.
Свяжитесь с нами по адресу [email protected], если у вас все еще есть проблемы с подключением.
Строки подключения MySQL — ConnectionStrings.com
Стандарт
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Указание порта TCP
Сервер=myServerAddress;Порт=1234;База данных=myDataBase;Uid=myUsername;Pwd=myPassword;
Несколько серверов
Используйте это для подключения к серверу в конфигурации реплицированного сервера, не заботясь о том, какой сервер использовать.
Сервер = адрес_сервера1, адрес_сервера2, адрес_сервера3; База данных = моя база данных; Uid = мое имя пользователя; Pwd = мой пароль;
Использование шифрования (старое)
Активирует шифрование 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’s 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
Сервер=myServerAddress;База данных=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 Driver};Server=myServerAddress;Port=3306;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
Указание набора символов
Driver={MySQL ODBC 5.1 Driver};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;