Утилиты Data Export/Import for MySQL включают в себя несколько дополнительных возможностей, не поддерживаемых SQL Manager for MySQL, например:
- экспорт/импорт данных из/в нескольких таблиц сразу;
- экспорт/импорт данных из/в таблиц, выбранных из различных баз данных на одном хосте;
- консольная утилита для экспорта/импорта с использованием файла конфигурации, содержащего все настройки.
Чаще всего данные отображаются таким образом в случае, если реальная кодировка данных не соответствует кодировке полей БД. Например, греческие символы хранятся в поле, для которого задана кодировка latin1. Если это так, то задайте значение ‘Windows charset’ в поле ‘Client charset’ диалога ‘Database Registration Info’. Если в этом случае данные отображаются корректно, то этот режим можно использовать в качестве временного решения, но необходимо помнить, что это неверная настройка БД – некорректно будут работать серверные сравнения и сортировки данных. Мы рекомендуем Вам обратиться в нашу техническую поддержку в этом случае.
В целях повышения скорости работы и удобства Сетка Данных позволяет производить гибкую настройку многих параметров отображения данных. Ниже приведены наиболее важные из них (пункт меню "База данных/Регистрационная информация базы данных"):
На закладке “Опции данных”:
- Стандартные ограничения для редактора таблиц и представлений. При включении опции “Выбирать все записи из таблицы” вы будете иметь возможность видеть все записи таблицы без дополнительных запросов к серверу, однако для больших таблиц или при низкоскоростном канале связи возможны значительные задержки при получении данных, также входящий трафик может быть большим. Режим рекомендуется при работе с базами данных, расположенными локально либо в частной сети. Режим “Выбрать только” ограничивает максимальное число записей, возвращаемых в результате запроса. Режим обусловлен тем, что человек не способен осмысленно просмотреть огромный объем информации за один раз. Для запроса и отображения следующей порции данных служит кнопка "Далее" в панели инструментов "Сетка Данных". Данный режим значительно ускоряет просмотр данных таблицы, предотвращает зависание и разрыв соединения при таймауте. Рекомендуется для работы с большими таблицами, при низкоскоростных каналах связи и когда объем трафика имеет значение. Данный режим включен по умолчанию. Для большего удобства при данном режиме опции “Осуществлять сортировку данных при просмотре” и “Осуществлять фильтрацию данных при просмотре” должны быть отключены.
- Режим сетки по умолчанию. Данная опция определяет, будут ли все строки запроса загружаться в Сетку сразу ("Загружать все строки"), либо по мере необходимости ("Загружать видимые строки"), т.е. когда пользователь пролистывает данные в таблице. Первый режим увеличивает время открытия результата запроса, но уменьшает задержки при пролистывании. При втором режиме время открытия результата запроса минимально, но возникают задержки при навигации по сетке.
- Осуществлять сортировку данных при просмотре. При включенной опции при задании пользователем сортировки данных на сервер отправляется новый запрос, результат которого заново отображается в сетке. Эта опция очень полезна при включенном режиме - “Выбрать только”, но она увеличивает трафик. При отключенной опции сортировка выполняется на клиенте без участия сервера, но только в уже загруженных данных. Т.е. если указано "Выбрать только 1000 записей", то отсортируются только эти записи.
- Осуществлять фильтрацию данных при просмотре. При включенной опции фильтрация данных будет производиться на сервере, куда отправляется новый запрос, результат которого заново отображается в сетке.
Также очень полезна опция при включенном режиме - “Выбрать только”, но она увеличивает трафик. При отключенной опции фильтрация выполняется на клиенте без участия сервера, но только в уже загруженных данных. Т.е. если указано "Выбрать только 1000 записей", то фильтр будет выбирать только из этих записей.
Для максимальной производительности при работе с большими таблицами мы рекомендуем установить следующие значения для опций:
- Выбрать только – Включено
- Загружать все строки – Включено
- Осуществлять сортировку данных при просмотре – Выключено
- Осуществлять фильтрацию данных при просмотре – Выключено
Наиболее вероятные причины этой ошибки: порт 3306, который используется MySQL, закрыт файерволом, установленным в вашей сети или у хостинг-провайдера, либо протокол TCP отключен на удаленном MySQL сервере, либо ваш пользователь и хост, с которыми вы пытаетесь произвести соединение, не имеет необходимых для этого полномочий.
Во-первых, EMS SQL Query for MySQL работает гораздо быстрее, т.к это отдельное приложение. Кроме того, SQL Query for MySQL предлагает дополнительные функции для построения запросов, например:
- функция хранения истории запросов, позволяющая произвести "откат" к любому отредактированному запросу;
- различные улучшения интерфейса для более простой и эффективной работы.
SQL Manager хранит все свои настройки в реестре Windows. Это означает, что единственный способ перенести их – получить доступ к реестру Windows. Сделать это можно, загрузив ОС со старого HDD (если это возможно) либо открыв файл реестра специальной программой-редактором. Если это удалось, то можно выгрузить ветку ‘HKEY_CURRENT_USER\Software\EMS\MySQL Manager’ в *.REG файл, перенести этот файл на новую систему и добавить информацию в реестр с помощью двойного щелчка мыши по файлу.
Вероятно, у вас включена опция "Автоподбор ширины столбца" на закладке "Сетка" диалога "Настройки/Настройки окружения". Попробуйте отключить ее.
Данная ошибка вызвана отсутствием прав у вашего хоста на соединение с удаленным MySQL сервером. Пожалуйста, свяжитесь с вашим системным администратором или, если у вас есть доступ к MySQL серверу с GRANT привилегией, вы можете использовать оператор GRANT, чтобы добавить нового пользователя. Например, чтобы открыть полный доступ пользователю с вашего хоста, можно выполнить команду:
/*!50003 CREATE USER 'user'@'user_host'*/; GRANT ALL PRIVILEGES ON *.* TO 'user'@'user_host' IDENTIFIED BY ' user_password '; (https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html)
DB Extract for MySQL включает в себя некоторые дополнительные функции, которые недоступны в SQL Manager for MySQL, например:
- извлечение метаданных из различных баз данных, расположенных на одном сервере;
- консольное приложение для упрощения процесса извлечения;
- большая скорость работы.
Пожалуйста, выберите опцию "Выбрать все записи из таблицы" на закладке "Опции данных" диалога "База данных/Регистрационная информация базы данных". Для того чтобы установить этот режим по умолчанию для всех новых баз данных, вы можете выбрать опцию "Выбрать все записи из таблицы" на закладке “Опции данных” в меню “Настройки/Настройки окружения”..
Причина ошибки в том, что программа не может найти клиентскую библиотеку libmysql.dll, необходимую для работы с сервером. Данный файл libmysql.dll входит в комплект установки SQL Manager'a. Вероятно. Вероятно, вы случайно удалили этот файл либо перенесли исполняемый файл программы в другую папку. Для решения данной проблемы вы должны переустановить SQL Manager (все настройки будут сохранены), либо скопировать libmysql.dll из установочной папки в папку, где находится исполняемый файл.
Закладки DDL в Редакторе Таблиц и Редактор UDF имеют параметры "только чтение/read only". Они отображают SQL-текст операций, которые Вы переносите из таблиц в закладки "Поля", "Индексы" или через UDF. Чтобы модифицировать этот текст, необходимо скопировать его в буфер обмена, а затем изменять его, используя Редактор Сценариев SQL.
Диалог "Регистрационная информация базы данных" содержит закладку "Журналы регистрации", в которой Вы можете разрешить протоколирование всех изменений метаданных в базе данных, а также протоколирование выражений SQL, выполняемых в Редакторе SQL. Вы должны включить опцию "Включить регистрацию изменений метаданных" для вашей тестовой базы данных, произвести необходимые модификации в базе, затем выполнить получившийся логфайл метаданных на вашей основной базе данных.
Скорее всего, Вы используете старую версию библиотеки libmySQL.dll. Используйте клиентскую библиотеку из нашего установочного пакета. Попробуйте переустановить приложение.
Настроить все отображаемые форматы (integer, float, date, time и date/time) можно в окне "Настройки окружения".
По умолчанию поля типов TEXT, LONGTEXT не экспортируются. Вы должны вручную выбирать эти поля в закладке "Поля/Fields".
Данная ошибка означает, что определение внешнего ключа для измененной таблицы было сформировано неверно. Например, связанный столбец не появляется как первый столбец в некотором индексе, ни в родительской, ни в дочерней таблице, или типы соответствующих полей в родительской и дочерней таблицах не совпадают. Вы можете использовать SHOW ENGINE INNODB STATUS для того, чтобы вывести подробное объяснение последней ошибки внешнего ключа InnoDB на сервере.
Вероятней всего, что значение переменной “lower_case_table_names” равно 1. За дополнительной информацией об этой переменной обращайтесь: https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html.
Функция “Экспортировать как SQL-скрипт” предназначена для экспорта табличных данных, которые будут вставлены в другую базу данных, отличную от сервера MySQL (SQL Server, Oracle, PostgreSQL etc.). Функция “Извлечение базы данных” используется для копирования данных в таблицы сервера MySQL.
Да, это возможно. Под какой ОС работает MySQL сервер, не имеет никакого значения. Главное - это то, что сам SQL Manager работает исключительно под управлением MS WINDOWS.
Вы можете использовать для создания отчета Мастер Создания Отчетов ("Создать-->Отчет") или Конструктор отчетов ("Инструменты-->Конструктор отчетов"). Чтобы создать простейший отчет на основе запроса, вам нужно выбрать "Master Data band" на втором шаге мастера, дважды щелкнуть на нем, либо щелкнуть на "Edit" кнопке и задать запрос для вашего отчета. После этого настроить необязательные опции на оставшихся шагах и нажать "Готово".
Для смены директории выполните следующие действия:
- Щелкните правой клавишей мыши на необходимой базе данных в Проводнике БД и левой клавишей на "Регистрационная информация базы данных" во всплывающем меню (этот пункт Вы можете найти также в основном меню "База данных"). Откроется форма с параметрами базы данных.
- Щелкните левой клавишей на закладке "Каталоги".
- В секции "Каталог по умолчанию для экспортируемых данных" Вы можете выбрать директорию для экспорта файла.
Эта ошибка появляется в том случае, если Ваш Linux glibc требует больше, чем 128Кб-ный размер стэка для разрешения имени хоста. В основном, это происходит на системах с RedHat 8.0 и версией сервера MySQL ниже 4.1, но иногда встречается и на других конфигурациях. Чтобы решить эту проблему, добавьте/отредактируйте следующую строку в секции [mysqld] файла конфигурации MySQL: set-variable = thread_stack=192k # value must be 192K or higher
Чтобы получить источник данных в отчете, Вам нужно добавить диалоговую форму в отчет (меню 'Редактировать/Edit' 'Добавить форму диалога/Add dialog form' Конструктора Отчетов), затем поместить в нее базу данных и компоненты запроса из левой панели конструктора и установить связь и параметры запроса. После этого запрос должен появиться в списках источников данных.
Есть несколько причин, по которым вы не можете соединиться с локальной базой данных. Если при попытке соединения выдается ошибка "Can't connect to MySQL server on 'localhost' (10061)", то вероятно, MySQL сервер установлен некорректно или сервис (обычно с именем mysql) не запущен. Чтобы проверить, запущен ли сервис, откройте Пуск->Панель управления->Администрирование->Службы и найдите службу с именем MySQL. Если вы не можете ее найти, то вам нужно попытаться повторно установить MySQL; если же вы ее нашли, то запустите ее кнопкой "Запустить", либо используя пункт "Пуск" контекстного меню.
Если появляется ошибка вида "Access denied for user 'root'@'localhost' (using password: YES)", то проверьте правильность ввода пароля пользователя root, если вы меняли его при установке. Если вы установили MySQL со значениями по умолчанию, то вы должны использовать имя пользователя root с пустым паролем и порт 3306 для соединения с сервером (более подробная информация: https://dev.mysql.com/doc/refman/8.0/en/can-not-connect-to-server.html).
EMS SQL Manager for MySQL – это высокопроизводительная программа для разработки и администрирования баз данных MySQL. SQL Manager for MySQL работает с любыми версиями MySQL, начиная с версии 4.1 поддерживает все самые новые функции MySQL, включая триггеры, представления, хранимые процедуры и функции, внешние ключи для таблиц InnoDB, UNICODE данные и другие. SQL Manager for MySQL позволяет быстро и просто создавать и редактировать все объекты баз данных MySQL, визуально проектировать базы данных MySQL, выполнять сценарии SQL, импортировать и экспортировать базы данных MySQL, управлять пользователями и их привилегиями, а также предоставляет множество полезных инструментов для эффективного администрирования MySQL. Современный графический интерфейс и грамотная система мастеров настроек предельно просты и будут понятны даже начинающему пользователю.
Такая ситуация может возникнуть, если у Вас нет прав на извлечение данных из таблицы ‘mysql.proc’. Обратитесь к администратору Вашего MySQL сервера для назначения необходимых прав. Если изменять настройки привилегий нельзя, и Вы используете MySQL 5.5 или выше, то попробуйте включить опцию ‘Use INFORMATION_SCHEMA database to refresh metadata’ диалога ‘Database Registration Info -> Options’
SSH (Secure Shell Host) протокол используется для повышения компьютерной безопасности при работе Unix-системами в Internet. SSH использует несколько алгоритмов шифрования разной степени надежности. Распространенность SSH связана еще и с тем, что многие Linux-подобные ОС (например, FreeBSD) включают в стандартную комплектацию SSH сервер. Для получения дополнительной информации вы можете посетить https://www.openssh.com. Опция SHH туннель в SQL Manager представляет собой средство организации безопасного доступа к MySQL серверам при работе по небезопасным каналам связи. Также вы можете использовать SSH туннель для доступа к удаленным MySQL серверам, если по каким-либо причинам порт 3306 закрыт для внешних подключений. Соединение через SSH туннель выглядит следующим образом. Сначала устанавливается соединение и производится процедура аутентификации между встроенным в SQL Manager SSH клиентом и удаленным SSH сервером, затем вся исходящая и входящая информация между программой и MySQL сервером передается через SSH сервер с использованием коммуникационного порта (обычно 22), а SSH сервер транслирует информацию уже непосредственно MySQL серверу. Чтобы зарегистрировать базу данных, соединение к которой должно выполняться с использованием SSH туннеля, вы должны задать следующие параметры при регистрации базы данных в SQL Manager for MySQL:
На первом шаге:
Хост - имя хоста, где расположен сервер MySQL с точки зрения сервера SSH. Если SSH и MySQL сервера установлены на одной машине, то он совпадает с хостом SSH, или он может быть 'localhost'.
Порт - порт сервера MySQL, его значение по умолчанию 3306.
Пользователь - имя пользователя сервера MySQL.
Пароль - пароль пользователя MySQL.
Имейте в виду, что имя хоста MySQL должно быть задано относительно сервера SSH. Например, если MySQL и SSH сервера установлены на одном компьютере, Вы должны указать localhost в качестве имени хоста вместо имени внешнего хоста или IP адреса.
Далее выберите опцию "Использовать туннелирование" и "SSH туннель".
На втором шаге:
SSH хост - хост, где активирован сервер SSH.
SSH порт - порт, где активирован сервер SSH.
SSH пользователь - пользователь Linux машины. (Это пользователь Linux'a. Это не пользователь сервера MySQL.)
SSH пароль - пароль пользователя Linux'a.
MySQL сервер использует для аутентификации клиента его логин ('myuser' в вашем случае) и имя хоста, с которого он пытается установить подключение (myhost.mydomain в вашем случае). В вашем случае причина в том, что ваш пользователь ‘myuser’ с хоста ‘myhost.mydomain’ не имеет полномочий для доступа к вашему MySQL серверу. Вполне вероятно, что вы успешно соединялись с вашей базой с теми же параметрами (имя пользователя и пароль) в своих PHP скриптах, либо с помощью phpMyAdmin, но в этом случае MySQL сервер распознает вас как пользователя ‘myuser’ с хоста ‘localhost’, который имеет необходимые полномочия, и разрешает вам доступ. Для решения этой проблемы вы должны дать необходимые полномочия пользователю myuser@myhost.mydomain. Вы можете сделать это с помощью phpMyAdmin, либо выполнив на сервере sql команды:
/*!50003 CREATE USER ‘myuser’@‘myhost.mydomain’*/; GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@‘myhost.mydomain’ IDENTIFIED BY 'user_password'; Либо обратитесь к вашему системному администратору. (https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html)
Эти версии отличаются своей функциональностью. Поскольку SQL Manager Freeware – это бесплатное приложение, оно имеет ряд функциональных ограничений: максимальное количество зарегистрированных баз данных не может превышать 5, максимальный размер базы данных должен быть не более 100 МБ, и некоторые другие. Подробный список отличий вы можете найти на нашем сайте в Таблице Возможностей программы.
Помните, что внешние ключи поддерживаются не для всех механизмов хранения таблиц сервера MySQL. Если для Вашей таблицы задан механизм хранения, поддерживающий внешние ключи, например, InnoDB, то в редакторе должна быть доступна вкладка ‘Внешние ключи (Foreign Keys)’. Переключитесь на нее и выберите пункт навигационной панели ‘Добавить новый внешний ключ (Add new foreign key)’.
Для того чтобы правильно установить соединение через SSH, необходимо задать следующие параметры:
На закладке SSH:
Хост SSH/SSH Host - это хост, где запущен сервер SSH.
Порт/Port - номер порта, где запущен сервер SSH.
Имя пользователя SSH/SSH User Name - это имя пользователя на сервере. (Пользователь сервера Linux. Это не имя пользователя сервера MySQL!)
Пароль/Password - это пароль пользователя сервера Linux.
На закладке Connection properties/General page:
Хост/Host - это хост, на котором расположен сервер MySQL с точки зрения сервера SSH.Если серверы SSH и MySQL находятся на одном компьютере, хост равен SSH Host, либо может быть локальным 'localhost'.
Порт/Port - порт MySQL сервера на удаленном хосте (Remote Host), по умолчанию равен 3306.
Имя пользователя/User Name - имя пользователя на сервере MySQL.
Пароль/Password - это пароль пользователя на сервере MySQL.
Если из-за политики безопасности, принятой у вас в корпоративной сети или хостинг провайдером, вы не можете соединиться с вашим MySQL сервером напрямую через TCP/IP (например, этому мешает firewall), то для этой цели вы можете использовать опцию SSH или HTTP туннель в SQL Manager.
Если Вы хотите подключиться к серверу MySQL Вашего хостинг-провайдера через Интернет, пожалуйста, учтите, что наша программа устанавливает прямое TCP/IP подключение на порт сервера, в то время как большинство хостинг-провайдеров не разрешают такие удаленные подключения. Когда Вы подключаетесь к Вашей БД через CPanel, PHPMyAdmin или Ваши бэкэнд-скрипты (PHP, ASP и т.п.), то фактически подключение создается HTTP-сервером к MySQL серверу. В большинстве случаев это локальное подключение или подключение внутри подсети хостинг провайдера. Ваш Интернет браузер просто получает обработанные данные у HTTP-сервера в этом случае.
Для установки подключения к Вашей БД Вы должны выяснить (связываясь с Вашим хостинг-провайдером или изучив предоставляемую им документацию) поддерживают ли они прямое подключение на порт 3306 (порт MySQL по умолчанию) с машин удаленных пользователей. Если это не поддерживается, Вы должны выяснить, предоставляют ли они возможность подключения к удаленному серверу через SSH. Если да, то Вы можете использовать возможность SSH-туннелирования в SQL Manager, задавая параметры SSH авторизации, предоставленные Вашим хостинг провайдером. Если вышеописанные способы подключения не доступны, Вы можете использовать возможность HTTP-туннелирования в SQL Manager.
Для подключения этим способом, Вы должны сделать следующее:
1) Загрузить скрипт ‘emsproxy.php’ (который входит в дистрибутив SQL Manager) в корневую директорию Вашего сайта, используя доступный Вам FTP-аккаунт. Запустите Ваш браузер и укажите в строке адреса путь к загруженному 'emsproxy.php' (например: http://mysite.com/emsproxy.php). Вы должны увидеть страницу с сообщением 'The ‘emsproxy.php script is installed correctly'. Это значит, что скрипт работает корректно.
2) Запустите SQL Manager.
3) На первом шаге мастера 'Регистрация базы данных (Register Database)' укажите параметры подключения к Вашей базе данных MySQL, как Вы указываете их в PHPMyAdmin или в Ваших скриптах (например, укажите 'localhost' в поле 'Host'), включите опции 'Use tunneling' и HTTP tunneling'. Нажмите кнопку 'Далее (Next)'.
4) Укажите URL-путь к загруженному скрипту 'emsproxy.php' как Вы указывали это в браузере (пункт 1).
5) Нажмите кнопку 'Далее'.
6) Укажите имя Вашей БД (выбор БД может быть недоступен, если у Вас ограничены права на сервере) и нажмите кнопку 'Finish'.
HTTP туннелирование - это способ, при котором соединение и передача данных между программой и MySQL сервером происходит через протоколы HTTP/HTTPS, используя порт 80, через который работает обычный веб-браузер. Этот способ подходит для соединения с MySQL, расположенным на удаленным сервере хостинг провайдера, когда прямое соединение невозможно из соображений безопасности. Соединение через HTTP туннель выглядит следующим образом: все исходящие запросы и команды с клиентских программ кодируются и передаются по протоколу HTTP/HTTPS, используя порт 80, специальному скрипту, который декодирует их и передает MySQL серверу на обработку, и возвращает обратно результат. Для использования этого способа на удаленном сервере должен быть установлен HTTP сервер (например, Apache) и PHP с подключенным расширением MySQL. Как правило, это программное обеспечение предлагают все хостинг-провайдеры, предоставляющие услуги хостинга на Linux платформах. Кроме того, вы должны разместить наш emsproxy.php скрипт на вашем веб-сервере так, чтобы иметь к нему доступ извне (например, поместить его в каталог, где находятся ваши остальные PHP скрипты). Если ваш веб-сервер удовлетворяет данным требованиям и скрипт установлен правильно, то при открытии http://<your_webserver_name>/emsproxy.php в веб-браузере вы увидите “EmsProxy v1.31” (версия может меняться). Чтобы зарегистрировать базу данных, соединение к которой должно выполняться с использованием HTTP туннеля, вы должны задать следующие параметры в Мастере Регистрации Баз Данных в SQL Manager for MySQL:
На первом шаге:
Хост - это хост, где расположен MySQL сервер с точки зрения HTTP сервера. Обычно HTTP и MySQL сервер расположены на одной машине и являются 'localhost'.
Порт - это порт MySQL сервера на удаленном узле, по умолчанию он 3306.
Пользователь - это имя пользователя на MySQL сервере.
Пароль - это пароль пользователя на MySQL сервере.
Далее выберите опцию "Использовать туннелирование" и "SSH туннель".
На втором шаге:
URL - это адрес, где находится скрипт emsproxy.php (например, http://mywebserver /emsproxy.php).
Есть несколько причин по которым вы не можете соединиться с удаленной базой данных. Если появляется ошибка "Can't connect to MySQL server on ‘some host' (10061)", то возможно вы должны проверить правильность ввода имени хоста и порта, а также запущен ли удаленный сервер. В ряде случаев бывает, что порт, через который происходит соединение с MySQL сервером (обычно 3306), закрыт из соображений безопасности локальным firewall, корпоративным firewall или firewall на удаленном сервере. Часто бывает, что порт на удаленном сервере закрыт ISP, или поддержка протокола TCP/IP отключена на MySQL сервере. Выясните это у вашего системного администратора или ISP. Чтобы обойти это ограничение, вы можете использовать SSH и HTTP туннели (50, 55).
Если появляется ошибка вида “Access denied for user: root@somehost.somedomain” или "Host not allowed to connect to server", то причиной этого является отсутствие прав у пользователя для доступа к базе данных.