Mysql sql: SQL Manager for MySQL | SQL Manager

Содержание

EMS SQL Query for MySQL (коммерческая лицензия Business), Лицензия + техподдержка на 3 года в Биробиджане

Программное обеспечение EMS SQL Query for MySQL – это мощная система извлечения и анализа информации, генерации в визуальном редакторе запросов MySQL, работы с планами запросов MySQL и формирования диаграмм на основании полученных данных. SQL Query for MySQL позволяет создавать SQL-запросы к базам данных как визуально, так и с помощью профессионального редактора SQL-кода (писать текст запроса вручную). Благодаря удобному графическому интерфейсу пользователи SQL Query for MySQL легко могут подключаться к БД MySQL, выбирать поля и таблицы для запросов к серверу MySQL, определять критерии отбора и т. п. Реализованы функции одновременной работы с несколькими запросами, редактирования текста запроса при помощи многофункционального редактора, отображения результатов выполнения запросов, генерации запросов MySQL с подзапросами и объединениями, построения диаграмм и реализации многих других задач по управлению запросами к БД MySQL.

Ключевые возможности EMS SQL Query for MySQL:


  • Работа в современном графическом интерфейсе пользователя.

  • Поддержка последних версий MySQL: с 3.23 до 6.х.

  • Поддержка данных UTF8.

  • Асинхронное выполнение запросов.
  • Подключение через SSH-туннель: подсоединение к промежуточному SSH-серверу и переадресация всех команд MySQL через защищенный туннель.

  • Подключение через HTTP-туннель в случае интернет-доступа только через прокси-сервер HTTP, или если сервер не разрешает прямое подключение к MySQL.

  • Визуальный выбор таблиц и полей для запроса путем их перетаскивания.

  • Работа с несколькими запросами в отдельных окнах.

  • Регистрация баз данных для работы только с выбранными базами.

  • Одновременное подключение к нескольким базам данных.

  • Ведение журнала недавно написанных запросов.

  • Подсветка синтаксиса, возможность «быстрого кода» и доступ к клавиатурным шаблонам для ускоренного редактирования текста запросов.

  • Группировка и фильтрация данных.

  • Визуальное создание запросов с объединениями и подзапросами.

  • Построение диаграмм на основе запросов, представление планов запросов.

  • Доступ к мощному редактору BLOB-полей с несколькими способами представления BLOB- данных.

  • Гибкая настройка многоязыкового пользовательского интерфейса.

  • Бесплатная подписка на один год сопровождения ПО.

  • Бесплатные обновления на период действия обслуживания.

  • Бесплатная неограниченная техподдержка в период действия сопровождения.

Бизнес-лицензия позволяет использовать программное обеспечение одним человеком в корпоративной, правительственной или бизнес среде.

✅ Купите EMS SQL Query for MySQL (коммерческая лицензия Business), Лицензия + техподдержка на 3 года на официальном сайте

✅ Лицензия EMS SQL Query for MySQL (коммерческая лицензия Business), Лицензия + техподдержка на 3 года по выгодной цене

✅ EMS SQL Query for MySQL (коммерческая лицензия Business), Лицензия + техподдержка на 3 года, лицензионное программное обеспечение купите в Биробиджане и других городах России

Предлагаем также:

Доставка в Биробиджане

При электронной доставке вы получаете ключ активации программного продукта на e-mail. Таким образом могут доставляться ключи для частных пользователей или организаций.
Срок доставки может отличаться у разных производителей.

Контакты в Биробиджане

Интернет магазин Softline

Биробиджане По работе интернет-магазина обращайтесь по общему телефону: 8 (800) 200-08-60.
Обработка заказов, отправка электронных ключей (лицензий) и физическая доставка осуществляются по рабочим дням, с 9 до 18 часов (Мск).

Как установить MySQL в Ubuntu 18.04

Введение

MySQL является системой управления базами данных с открытым исходным кодом и обычно используется, как часть популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). MySQL использует реляционную базу данных и SQL (Structured Query Language, язык структурированных запросов) для управления данными.

Короткая версия установки очень проста: достаточно обновить индекс пакетов, установить пакет

mysql-server, а затем запустить скрипт настройки безопасности.

  • sudo apt update
  • sudo apt install mysql-server
  • sudo mysql_secure_installation

Это руководство описывает процесс установки MySQL версии 5.7 на сервер с Ubuntu 18.04. Если вам необходимо обновить установленную ранее версию MySQL до версии 5.7, вы можете ознакомиться с руководством по обновлению MySQL до версии 5.7.

Необходимые условия

Перед тем, как начать следовать шагам, описанным в этом руководстве, вам необходимо настроить отдельный, не-рутовый (non-root) профиль пользователя на вашем сервере с Ubuntu 18.04. Вы можете сделать это используя нашу статью о первичной настройке сервера на Ubuntu 18.04.

Шаг 1 — Установка MySQL

По умолчанию в репозиторий пакетов APT в Ubuntu 18.04 включена только последняя версия MySQL. На момент написания этого руководства это MySQL 5.7.

Для установки этой версии обновите индекс пакетов apt командой:

Затем установите пакет:

  • sudo apt install mysql-server

Эта команда установит MySQL, но при этом вам не будет предложено задать пароль или внести какие-либо правки в конфигурацию.

Поскольку это делает установку небезопасной, рассмотрим далее, как настроить установленную MySQL.

Шаг 2 — Настройка MySQL

В случае новой установки MySQL вам необходимо выполнить скрипт безопасности. Он изменяет некоторые настройки по умолчанию на более безопасные, например, удалённый вход для пользователей root и пользователи, созданные по умолчанию. В старых версиях MySQL вам было необходимо также инициализировать директорию данных вручную, теперь это делается автоматически.

Выполните скрипт безопасности командой:

  • sudo mysql_secure_installation

В результате выполнения этого скрипта вам будет предложено внести изменения в настройки безопасности вашей MySQL. Сначала вам будет предложено установить плагин валидации паролей (Validate Password Plugin), который позволяет тестировать надёжность паролей MySQL. Далее вам предложат задать пароль для пользователя root вашей установки MySQL. Выберите надёжный пароль и введите его два раза.

Далее вы можете выбирать Y и нажимать ENTER для всех последующих вопросов. При этом будут удалены некоторые анонимные пользователи и тестовые базы данных, будет отключена возможность удалённого входа для root пользователей, после чего все внесённые изменения будут применены к вашей установке MySQL.

Для инициализации директории данных MySQL вам необходимо использовать mysql_install_db для версий меньше, чем 5.7.6, и mysqld --initialize для версии 5.7.6 и более поздних версий. При этом, если вы устанавливаете MySQL для Debian как описано на шаге 1, директория данных будет создана автоматически и вам нет необходимости что-то делать. Если вы при этом попытаетесь всё равно выполнить команду создания директории данных, вы увидите следующую ошибку:

Вывод

mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) . . . 2018-04-23T13:48:00.572066Z 0 [ERROR] Aborting

Обратите внимание, несмотря на то, что вы задали пароль для пользователя root для MySQL, этот пользователь не настроен для аутентификации по паролю при подключении к оболочке (shell) MySQL. Вы можете изменить эту настройку на следующем шаге 3.

Шаг 3 — (Опционально) Настройка аутентификации и привилегий

На серверах с Ubuntu, использующей MySQL 5.7 (и более поздние версии), пользователь root в MySQL по умолчанию аутентифицируется с помощью плагина auth_socket, а не по паролю. Это в целом более безопасно и удобно во многих случаях, но не в случае, когда вам необходимо организовать доступ к MySQL со стороны сторонней программы, например, phpMyAdmin.

Для того, чтобы пользователь root в MySQL мог использовать пароль для входа в систему вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password. Для этого войдите в оболочку MySQL следующей командой:

Далее проверьте, какой метод аутентификации используется для каждого из ваших пользователей MySQL:

  • SELECT user,authentication_string,plugin,host FROM mysql. user;

Вывод

+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec)

В этом примере ваш пользователь root использует аутентификацию с помощью плагина auth_socket. Для изменения этой настройки на использование пароля используйте следующую команду ALTER USER. Не забудьте изменить password на ваш сильный пароль:

  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Далее выполните команду FLUSH PRIVILEGES, которая применит внесённые изменения:

Проверьте методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket для авторизации:

  • SELECT user,authentication_string,plugin,host FROM mysql.user;

Вывод

+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost | | mysql. session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec)

Как можно видеть на представленном выводе теперь root пользователь MySQL аутентифицируется с использованием пароля. После того, как мы в этом убедились, можно выйти из оболочки MySQL:

В некоторых случаях бывает полезно использовать для входа в MySQL отдельного пользователя. Для создания такого пользователя войдите в оболочку MySQL:

Внимание: Если вы включили вход по паролю для пользователя root, как описано выше, вам потребуется использовать другую команду для входа в оболочку MySQL. Команда выше запустит оболочку с привилегиями обычного пользователя, для получения привилегий администратора вам необходимо выполнить следующую команду:

Далее создайте нового пользователя и задайте для него надёжный пароль:

  • CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';

Далее задайте для пользователя подходящий набор привилегий. Например, вы можете дать пользователю доступ ко всем таблицами в базе данных, а также права на добавление, изменение и удаление пользовательских привилегий следующей командой:

  • GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

Обратите внимание на то, что в этом случае вам нет необходимости выполнять команду FLUSH PRIVILEGES. Эта команда необходимо только тогда, когда вы изменяете таблицы доступа (grant tables) используя команды INSERT, UPDATE или DELETE. Поскольку вы создали нового пользователя, а не редактируете права существующего пользователя, команда FLUSH PRIVILEGES не является необходимой.

После этого, выйдите из оболочки MySQL:

Теперь мы можем протестировать нашу установку MySQL.

Шаг 4 — Тестирование MySQL

Вне зависимости от того, как именно вы установили MySQL, она должна запуститься автоматически. Проверим это следующей командой:

  • systemctl status mysql.service

Вы увидите вывод, похожий на этот:

Вывод

● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Wed 2018-04-23 21:21:25 UTC; 30min ago Main PID: 3754 (mysqld) Tasks: 28 Memory: 142.3M CPU: 1.994s CGroup: /system.slice/mysql.service └─3754 /usr/sbin/mysqld

Если MySQL не запущена, вы можете запустить её с помощью команды sudo systemctl start mysql.

Для дополнительной проверки вы можете попробовать подключиться к базе данных с помощью инструмента mysqladmin, который представляет собой клиент, позволяющий запускать административные команды. Например, эта команда приказывает подключиться к MySQL в качестве пользователя root (-u root), запросить пароль (-p) и вернуть версию.

  • sudo mysqladmin -p -u root version

Вы увидите вывод, похожий на этот:

Вывод

mysqladmin Ver 8.42 Distrib 5.7.21, for Linux on x86_64 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.7.21-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 30 min 54 sec Threads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Queries per second avg: 0. 006

Это означает, что MySQL запущена и работает.

Заключение

Теперь на вашем сервере установлена и настроена MySQL. Вот несколько примеров того, что можно сделать дальше:

MySQL шпаргалки / Хабр

Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Работа с бекапами

Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile. sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`

Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE
или так
zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE

Создаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASE

Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:

  • -Q оборачивает имена обратными кавычками
  • -c делает полную вставку, включая имена колонок
  • -e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее

Для просмотра списка баз данных можно использовать команду:
mysqlshow -u USER -pPASSWORD

А так же можно посмотреть список таблиц базы:
mysqlshow -u USER -pPASSWORD DATABASE

Для таблиц InnoDB надо добавлять —single-transaction, это гарантирует целостность данных бекапа.
Для таблиц MyISAN это не актуально, ибо они не поддерживают транзакционность.

Подробнее

Общие факты

  • Полезно под каждую базу на боевом сервере создавать своего пользователя
  • Кодировка базы может быть любой, если она UTF8
  • В большинстве случаев лучше использовать движок InnoDB
  • В php лучше забыть про сильно устаревшее расширение mysql и по-возможности использовать pdo или mysqli
  • Новую копию MySQL всегда можно настроить и оптимизировать
  • Без особой нужды не стоит открывать MySQL наружу. Вместо этого можно сделать проброс портов
    ssh -fNL LOCAL_PORT:localhost:3306 REMOTE_USER@REMOTE_HOST
Работа с данными
Числа

  • На 32-битных системах практически нет смысла ставить для типа INTEGER свойство UNSIGNED, так как такие большие числа в php не поддерживаются.
    На 64-битных системах, php поддерживает большие числа, вплоть до MySQL BIGINT со знаком.
  • Связанные таблицы («Foreign keys») должны иметь полное сходство по структуре ключей. Т.е. если у нас на одной таблице для поля указано «INTEGER UNSIGNED DEFAULT 0 NOT NULL» то и на другой должно быть указано аналогично
  • Для хранения булевых значений, нужно использовать TINYINT(1)
  • А деньги лучше хранить в DECIMAL(10, 2), где первое число обозначает количество всех знаков, включая запятую, а второе — количество знаков после запятой. Итого, у нас получится что DECIMAL(10,2) может сохранить 9999999,99
Строки

  • В старых версиях (до 5.0.3) VARCHAR была ограничена 255 символами, но сейчас можно указывать до 65535 символов
  • Помните, что тип TEXT ограничен только 64 килобитами, поэтому что бы сохранять «Войну и Мир» пользуйтесь «LONGTEXT»
  • Самая правильная кодировка для вашей БД UTF8
Даты

Не забывайте, что


  • DATE, TIME, DATETIME — выводятся в виде строк, поэтому поиск и сравнение дат происходит через преобразование
  • TIMESTAMP — хранится в виде UNIX_TIMESTAMP, и можно указать автоматически обновлять колонку
  • Сравнивая типы данных DATETIME и TIMESTAMP, не забывайте делать преобразование типов, например:
    SELECT * FROM table WHERE `datetime` = DATE(`timestamp`)
Перечисления

  • Для перечислений правильно использовать тип ENUM
  • Правильно пишется так: ENUM(‘мама’, ‘мыла’, ‘раму’)
  • Можно ставить значение по-умолчанию, как и для любой строки
  • В базе поле с перечислением хранится как число, поэтому скорость работы — потрясающе высокая
  • Количество перечислений ~ 65 тысяч

dev. mysql.com/doc/refman/4.1/en/storage-requirements.html
help.scibit.com/mascon/masconMySQL_Field_Types.html

Отладка
  • Если запросы тормозят, то можно включить лог для медленных запросов в /etc/mysql/my.cnf
  • А потом оптимизировать запросы через EXPLAIN
  • И наблюдать за запросами удобно через программу mytop

Пожалуйста, сообщите мне, если вы заметили неточность или есть желание поделиться советом или шпаргалкой.

MySQL :: Загрузить MySQL Community Server

Linux — Generic (glibc 2.12) (x86, 32-разрядная версия), сжатый архив TAR 8.0.26 804,9 млн
(mysql-8.0.26-linux-glibc2.12-i686.tar.xz) MD5: c15a0f380795ae73c67ff103faafdc99 | Подпись
Linux — Generic (glibc 2. 12) (x86, 64-бит), сжатый архив TAR 8.0.26 872,4 млн
(mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz) MD5: 100a0e9336ef106a5fe90e6803b57066 | Подпись
Linux — Generic (glibc 2.12) (x86, 32-бит), сжатый архив TAR
Test Suite
8.0,26 257,8 млн
(mysql-test-8.0.26-linux-glibc2.12-i686.tar.xz) MD5: 7ca8340c1962282fd461050bdfb64ef2 | Подпись
Linux — Generic (glibc 2.12) (x86, 64-бит), сжатый архив TAR
Test Suite
8. 0,26 261,9 млн
(mysql-test-8.0.26-linux-glibc2.12-x86_64.tar.xz) MD5: 3df9ed64f6c2a1b04c217b28584c24e1 | Подпись
Linux — Generic (glibc 2.12) (x86, 32-разрядная версия), TAR 8.0.26 1125.0М
(mysql-8.0.26-linux-glibc2.12-i686.tar) MD5: 48180951413062e8dd64266b2cdaea00 | Подпись
Linux — Generic (glibc 2.12) (x86, 64-разрядная версия), TAR 8.0.26 1198,7 млн ​​
(mysql-8. 0.26-Linux-glibc2.12-x86_64.tar) MD5: 084510c174437ee9ec27351bf9945d91 | Подпись
Linux — Generic (glibc 2.17) (x86, 64-бит), сжатый архив TAR
Минимальная установка
8.0.26 49,5 млн
(mysql-8.0.26-linux-glibc2.17-x86_64-минимальный-rebuild.tar.xz) MD5: d830538cb6644100275a013541a9f129 | Подпись
Linux — Generic (glibc 2.17) (x86, 64-разрядная версия), сжатый архив TAR
Minimal Install Test Suite
8.0.26 214,0 млн
(mysql-test-8. 0.26-linux-glibc2.17-x86_64-минимальный-rebuild.tar.xz) MD5: 997f998680e807270d04513c14a540ba | Подпись
Linux — Generic (glibc 2.17) (x86, 64-бит), TAR
Минимальная установка
8.0.26 271,2 млн
(mysql-8.0.26-linux-glibc2.17-x86_64-минимальный-rebuild.tar) MD5: 3155af32faf63a49e1fbd8accba07ad7 | Подпись

go-sql-driver / mysql: Драйвер Go MySQL — это драйвер MySQL для базы данных Go (golang) / пакета sql

Драйвер MySQL для базы данных Go / пакет sql



Характеристики

  • Легкий и быстрый
  • Реализация
  • Native Go.Никаких С-образных креплений, только чистый Go
  • Соединения через TCP / IPv4, TCP / IPv6, сокеты домена Unix или пользовательские протоколы
  • Автоматическая обработка разорванных соединений
  • Автоматическое объединение соединений в пул (с помощью пакета database / sql)
  • Поддерживает запросы размером более 16 МБ
  • Полная поддержка sql. RawBytes .
  • Intelligent LONG DATA обработка в подготовленных операторах
  • Secure ЗАГРУЗИТЬ ДАННЫЕ ЛОКАЛЬНЫЙ INFILE Поддержка со списком файлов и io.Reader support
  • Необязательно time.Time разбор
  • Дополнительная интерполяция заполнителя

Требования

  • Go 1.13 или выше. Мы стремимся поддерживать 3 последних версии Go.
  • MySQL (4.1+), MariaDB, Percona Server, Google CloudSQL или Sphinx (2.2.3+)

Установка

Простая установка пакета в $ GOPATH с помощью инструмента go из оболочки:

 $ go get -u github.com/go-sql-driver/mysql 

Убедитесь, что Git установлен на вашем компьютере и в вашей системе PATH .

Использование

Go MySQL Driver — это реализация интерфейса Go’s database / sql / driver . Вам нужно только импортировать драйвер, и тогда вы сможете использовать полную базу данных / sql API.

Используйте mysql как driverName и действительный DSN как dataSourceName :

 импорт (
"база данных / sql"
"время"

_ "github.com/go-sql-driver/mysql"
)

// ...

db, err: = sql.Open ("mysql", "пользователь: пароль @ / dbname")
if err! = nil {
паника (ошибка)
}
// См. Раздел «Важные настройки».db.SetConnMaxLifetime (время.Минута * 3)
db.SetMaxOpenConns (10)
db.SetMaxIdleConns (10) 

Примеры доступны в нашей Wiki.

Важные настройки

db.SetConnMaxLifetime () требуется для обеспечения безопасного закрытия соединений драйвером до того, как соединение будет закрыто сервером MySQL, ОС или другим промежуточным программным обеспечением. Поскольку некоторые промежуточные программы закрывают неактивные соединения на 5 минут, мы рекомендуем тайм-аут короче 5 минут. Этот параметр также помогает балансировать нагрузку и изменять системные переменные.

db.SetMaxOpenConns () настоятельно рекомендуется ограничить количество подключений, используемых приложением. Рекомендуемого количества ограничений нет, потому что оно зависит от приложения и сервера MySQL.

db.SetMaxIdleConns () рекомендуется установить таким же, как db.SetMaxOpenConns () . Когда оно меньше SetMaxOpenConns () , соединения можно открывать и закрывать гораздо чаще, чем вы ожидаете. Неактивные соединения могут быть закрыты с помощью дБ.Сетконнмакслайфтайм () . Если вы хотите быстрее закрыть неактивные соединения, вы можете использовать db.SetConnMaxIdleTime () , начиная с Go 1.15.

DSN (имя источника данных)

Имя источника данных имеет общий формат, например, PEAR DB использует его, но без префикса типа (необязательные части отмечены квадратными скобками):

  [имя пользователя [: пароль] @] [протокол [(адрес)]] / имя базы данных [? Param1 = value1 & ... & paramN = valueN]
  

DSN в самом полном виде:

  имя пользователя: пароль @ протокол (адрес) / dbname? Param = value
  

Все значения, кроме имени базы данных, необязательны. Итак, минимальный DSN:

Если вы не хотите предварительно выбирать базу данных, оставьте dbname пустым:

Действует так же, как пустая строка DSN:

В качестве альтернативы можно использовать Config.FormatDSN для создания строки DSN путем заполнения структуры.

Пароль

Пароли могут состоять из любых символов. Экранирование — это , а не .

Протокол

См. Net.Dial для получения дополнительной информации о доступных сетях.В общем, вы должны использовать сокет домена Unix, если он доступен, и TCP в противном случае для лучшей производительности.

Адрес

Для сетей TCP и UDP адреса имеют вид хост [: порт] . Если порт не указан, будет использоваться порт по умолчанию. Если host является буквальным адресом IPv6, он должен быть заключен в квадратные скобки. Функции net.JoinHostPort и net.SplitHostPort управляют адресами в этой форме.

Для сокетов домена Unix адрес — это абсолютный путь к сокету MySQL-сервера, e. грамм. /var/run/mysqld/mysqld.sock или /tmp/mysql.sock .

Параметры

Параметры чувствительны к регистру!

Обратите внимание, что любое из значений true , TRUE , True или 1 может заменять истинное логическое значение. Неудивительно, что false может быть определено как любое из: false , FALSE , False или 0 .

allowAllFiles
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

allowAllFiles = true отключает список разрешенных файлов для LOAD DATA LOCAL INFILE и разрешает все файлы . Может быть, небезопасно!

allowCleartextPasswords
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

allowCleartextPasswords = true позволяет использовать плагин на стороне клиента с открытым текстом, если этого требует учетная запись, например, определенная с помощью плагина аутентификации PAM. Отправка паролей в виде открытого текста может быть проблемой безопасности в некоторых конфигурациях. Чтобы избежать проблем, если есть какая-либо вероятность перехвата пароля, клиенты должны подключаться к серверу MySQL, используя метод, который защищает пароль.Возможности включают TLS / SSL, IPsec или частную сеть.

allowNativePasswords
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: true
  

allowNativePasswords = false запрещает использование собственного метода паролей MySQL.

allowOldPasswords
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

allowOldPasswords = true разрешает использование небезопасного метода старого пароля.Этого следует избегать, но в некоторых случаях это необходимо. См. Также вики-страницу old_passwords.

кодировка
  Тип: строка
Допустимые значения: <имя>
По умолчанию: нет
  

Устанавливает кодировку, используемую для взаимодействия клиент-сервер ( "SET NAMES <значение>" ). Если установлено несколько кодировок (разделенных запятой), следующая кодировка используется, если установка кодировки не выполняется. Это включает, например, поддержку utf8mb4 (введено в MySQL 5.5.3) с откатом на utf8 для старых серверов (кодировка = utf8mb4, utf8 ).

Использование параметра charset не рекомендуется, поскольку он отправляет дополнительные запросы к серверу. Если вам не нужен резервный режим, используйте вместо него сопоставление .

checkConnLiveness
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: true
  

На поддерживаемых платформах соединения, полученные из пула соединений, проверяются на живучесть перед их использованием.Если проверка не удалась, соответствующее соединение помечается как плохое, и запрос повторяется с другим соединением. checkConnLiveness = false отключает эту проверку живучести соединений.

сопоставление
  Тип: строка
Допустимые значения: <имя>
По умолчанию: utf8mb4_general_ci
  

Задает параметры сортировки, используемые для взаимодействия клиент-сервер при подключении. В отличие от кодировки , сопоставление не создает дополнительных запросов.Если указанное сопоставление недоступно на целевом сервере, соединение не будет установлено.

Список допустимых кодировок для сервера можно получить с помощью SHOW COLLATION .

Параметры сортировки по умолчанию ( utf8mb4_general_ci ) поддерживаются MySQL 5.5. Вы должны использовать более старые параметры сортировки (например, utf8_general_ci ) для более старых версий MySQL.

Сопоставления для кодировки «ucs2», «utf16», «utf16le» и «utf32» использовать нельзя (ref).

clientFoundRows
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

clientFoundRows = true заставляет UPDATE возвращать количество совпадающих строк вместо количества измененных строк.

columnsWithAlias ​​
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

Когда columnsWithAlias ​​ истинно, вызовы sql.Rows.Columns () вернут псевдоним таблицы и имя столбца, разделенные точкой. Например:

  ВЫБРАТЬ u.id ИЗ пользователей как u
  

вернет u.id вместо id , если columnsWithAlias ​​= true .

интерполировать параметры
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

Если interpolateParams истинно, заполнители (? ) в вызовах db.Query () и db.Exec () интерполируются в одну строку запроса с заданными параметрами. Это сокращает количество обращений, так как драйвер должен подготовить оператор, выполнить его с заданными параметрами и снова закрыть оператор с interpolateParams = false .

Не может использоваться вместе с многобайтовыми кодировками BIG5, CP932, GB2312, GBK или SJIS. Они отклоняются, так как могут привести к уязвимости SQL-инъекций!

лок.
  Тип: строка
Допустимые значения: <экранированное имя>
По умолчанию: UTC
  

Устанавливает местоположение для значений time.Time (при использовании parseTime = true ). «Локально» устанавливает местоположение системы. Подробности смотрите в time.LoadLocation.

Обратите внимание, что это устанавливает местоположение для значений time.Time, но не меняет настройку MySQL time_zone. Для этого см. Системную переменную time_zone, которую также можно установить как параметр DSN.

Имейте в виду, что значения параметров должны быть url.QueryEscape’ed. В качестве альтернативы вы можете вручную заменить / на % 2F . Например, US / Pacific будет loc = US% 2FPacific .

maxAllowedPacket
  Тип: десятичное число
По умолчанию: 4194304
  

Максимально допустимый размер пакета в байтах.Значение по умолчанию — 4 МБ, и его следует изменить в соответствии с настройками сервера. maxAllowedPacket = 0 может использоваться для автоматической выборки переменной max_allowed_packet с сервера при каждом соединении .

multiStatements
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

Разрешить несколько операторов в одном запросе. Хотя это позволяет выполнять пакетные запросы, это также значительно увеличивает риск SQL-инъекций.Возвращается только результат первого запроса, все остальные результаты игнорируются.

Когда используется multiStatements , ? Параметры должны использоваться только в первом операторе.

parseTime
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

parseTime = true изменяет тип вывода значений DATE и DATETIME на время . Время вместо [] байт / строка Дата или datetime, например 0000-00-00 00:00:00 , преобразуется в нулевое значение времени .Время .

таймаут чтения
  Тип: длительность
По умолчанию: 0
  

Тайм-аут чтения ввода-вывода. Значение должно быть десятичным числом с суффиксом единицы измерения ( «мс» , «с» , «м» , «ч» ), например «30 с» , «0,5 м». или «1 мин 30 сек» .

отклонить только чтение
  Тип: bool
Допустимые значения: истина, ложь
По умолчанию: false
  

rejectReadOnly = true заставляет драйвер отклонять соединения только для чтения.Этот предназначен для возможного состояния гонки во время автоматического переключения при отказе, где mysql клиент подключается к реплике только для чтения после отработки отказа.

Обратите внимание, что это должно быть довольно редким случаем, поскольку обычно автоматическое переключение происходит, когда первичный выключен, и состояние гонки не должно происходить если только он не вернется в рабочее состояние, как только будет запущено переключение на другой ресурс. На с другой стороны, когда это происходит, приложение MySQL может застрять на соединение только для чтения до перезапуска.Однако довольно легко воспроизвести, например, с помощью ручного переключения на отказ в MySQL-совместимом кластере AWS Aurora.

Если вы не полагаетесь на транзакции только для чтения для отклонения записей, которые не должно произойти, установив это на некоторых поставщиках MySQL (например, AWS Aurora) безопаснее для отработки отказа.

Обратите внимание, что ОШИБКА 1290 может быть возвращена для сервера только для чтения , и эта опция будет вызвать повторную попытку для этой ошибки. Однако тот же номер ошибки используется для некоторых другие случаи.Вы должны убедиться, что ваше приложение никогда не вызовет ОШИБКУ 1290 кроме режима только для чтения при включении этой опции.

serverPubKey
  Тип: строка
Допустимые значения: <имя>
По умолчанию: нет
  

Открытые ключи сервера могут быть зарегистрированы с помощью mysql. RegisterServerPubKey , который затем может использоваться назначенным именем в DSN. Открытые ключи используются для передачи зашифрованных данных, например для аутентификации.Если открытый ключ сервера известен, его следует установить вручную, чтобы избежать дорогостоящей и потенциально небезопасной передачи открытого ключа с сервера клиенту каждый раз, когда это требуется.

тайм-аут
  Тип: длительность
По умолчанию: ОС по умолчанию
  

Тайм-аут для установления соединения, он же тайм-аут набора номера. Значение должно быть десятичным числом с суффиксом единицы измерения ( «мс» , «с» , «м» , «ч» ), например «30 с» , «0.5 м « или » 1 м 30 с «.

TLS
  Тип: bool / string
Допустимые значения: истина, ложь, пропустить проверку, предпочтительно, <имя>
По умолчанию: false
  

tls = true включает зашифрованное соединение TLS / SSL с сервером. Используйте skip-verify , если вы хотите использовать самозаверяющий или недействительный сертификат (на стороне сервера), или используйте предпочтительный для использования TLS только тогда, когда это объявлено сервером. Это похоже на с пропуском проверки , но дополнительно позволяет откатиться к незашифрованному соединению.Ни с пропуском проверки , ни предпочтительный не добавляют надежной защиты. Вы можете использовать настраиваемую конфигурацию TLS после ее регистрации в mysql.RegisterTLSConfig .

время записи
  Тип: длительность
По умолчанию: 0
  

Тайм-аут записи ввода-вывода. Значение должно быть десятичным числом с суффиксом единицы измерения ( «мс» , «с» , «м» , «ч» ), например «30 с» , «0.5 м « или » 1 м 30 с «.

Системные переменные

Любые другие параметры интерпретируются как системные переменные:

  • = : SET =
  • = : SET =
  • <переменная_строки> =% 27 <значение>% 27 : НАБОР <переменная_строки> = '<значение>'

Правил:

  • Значения строковых переменных должны быть заключены в кавычки '.
  • Значения также должны иметь url.QueryEscape’ed! (что подразумевает, что значения строковых переменных должны быть заключены в % 27 ).

Примеры:

Примеры
  пользователь @ unix (/ путь / к / сокету) / dbname
  
  корень: pw @ unix (/tmp/mysql.sock) / myDatabase? Loc = Local
  
  пользователь: пароль @ tcp (localhost: 5555) / dbname? Tls = skip-verify & autocommit = true
  

Считайте предупреждения ошибками, задав системную переменную sql_mode :

  пользователь: пароль @ / dbname? Sql_mode = TRADITIONAL
  

TCP через IPv6:

  пользователь: пароль @ tcp ([de: ad: be: ef :: ca: fe]: 80) / dbname? Timeout = 90s & collation = utf8mb4_unicode_ci
  

TCP на удаленном хосте, e.грамм. Amazon RDS:

  id: пароль @ tcp (your-amazonaws-uri.com:3306) / dbname
  

Google Cloud SQL в App Engine:

  пользователь: пароль @ unix (/ cloudsql / идентификатор-проекта: имя-региона: имя-экземпляра) / имя-базы-данных
  

TCP с использованием порта по умолчанию (3306) на локальном хосте:

  пользователь: пароль @ tcp / dbname? Charset = utf8mb4, utf8 & sys_var = esc% 40ped
  

Используйте протокол по умолчанию (tcp) и хост (localhost: 3306):

Нет предварительно выбранной базы данных:

Пул подключений и таймауты

Пул соединений управляется пакетом Go database / sql. Для получения подробной информации о том, как настроить размер пула и как долго соединения остаются в пуле, см. * DB.SetMaxOpenConns , * DB.SetMaxIdleConns и * DB.SetConnMaxLifetime в документации по базе данных / sql. Таймауты чтения, записи и набора для каждого отдельного соединения настраиваются с помощью параметров DSN readTimeout , writeTimeout и timeout соответственно.

ColumnType Поддержка

Этот драйвер поддерживает интерфейс ColumnType , представленный в Go 1.8, за исключением ColumnType.Length () , который в настоящее время не поддерживается. Все имена типов неподписанных баз данных будут возвращены UNSIGNED с INT , TINYINT , SMALLINT , BIGINT .

context.Context Поддержка В

Go 1.8 добавлена ​​поддержка базы данных / sql для контекста . Контекст . Этот драйвер поддерживает тайм-ауты запросов и отмену через контексты. Дополнительные сведения см. В разделе «Поддержка контекста» в пакете database / sql.

НАГРУЗКА ДАННЫХ LOCAL INFILE support

Для этой функции вам нужен прямой доступ к пакету. Следовательно, вы должны изменить путь импорта (№ _ ):

 импорт "github.com/go-sql-driver/mysql" 

Файлы должны быть явно разрешены путем их регистрации с помощью mysql.RegisterLocalFile (путь к файлу) (рекомендуется) или проверка списка разрешенных файлов должна быть отключена с помощью параметра DSN allowAllFiles = true ( Может быть небезопасно! ).

Чтобы использовать io.Reader , функция-обработчик должна быть зарегистрирована с mysql.RegisterReaderHandler (имя, обработчик) , который возвращает io.Reader или io.ReadCloser . Reader доступен с путем к файлу Reader :: <имя> . Выберите разные имена для разных обработчиков и DeregisterReaderHandler , когда он вам больше не нужен.

Подробнее см. Godoc Go-MySQL-Driver.

раз.Время поддержка

Внутренний тип вывода по умолчанию для значений MySQL DATE и DATETIME [] байт , что позволяет сканировать значение в [] байт , строку или sql.RawBytes переменную в вашей программе .

Однако многие хотят сканировать значения MySQL DATE и DATETIME в переменные времени time.Time , что является логическим эквивалентом в Go to DATE и DATETIME в MySQL.Это можно сделать, изменив тип внутреннего вывода с [] байт на time.Time с параметром DSN parseTime = true . Вы можете установить время по умолчанию . Время местоположения с помощью параметра loc DSN.

Внимание! Это нарушает, например, поддержку sql.RawBytes .

Поддержка Unicode

Начиная с версии 1.5 Go-MySQL-Driver автоматически использует сопоставление utf8mb4_general_ci по умолчанию.

Другие сопоставления / наборы символов могут быть установлены с помощью параметра сопоставления DSN.

Версия 1.0 драйвера рекомендовала добавить & charset = utf8 (псевдоним для SET NAMES utf8 ) в DSN, чтобы обеспечить правильную поддержку UTF-8. В этом больше нет необходимости. Параметр сопоставления должен быть предпочтительным для установки другого сопоставления / кодировки, чем значение по умолчанию.

Подробнее о поддержке Unicode в MySQL см. Http://dev.mysql.com/doc/refman/8.0/en/charset-unicode.html.

Тестирование / Разработка

Для запуска тестов драйверов вам может потребоваться изменить конфигурацию. См. Подробности на вики-странице тестирования.

Go-MySQL-Driver еще не завершен. Ваша помощь очень ценится. Если вы хотите внести свой вклад, вы можете поработать над открытым вопросом или просмотреть запрос на перенос.

Подробности см. В Правилах внесения вкладов.


Лицензия

Go-MySQL-Driver находится под лицензией Mozilla Public License Version 2.0

Mozilla описывает объем лицензии следующим образом:

MPL: авторское лево применяется к любым файлам, содержащим код MPL.

Это означает:

  • Вы можете использовать неизмененный исходный код как в частном порядке, так и в коммерческих целях.
  • При распространении вы должны опубликовать исходный код любых измененных файлов , находящихся под лицензией MPL 2.0 в соответствии с a) самим MPL 2.0 или b) совместимой лицензией (например, GPL 3.0 или Apache License 2.0).
  • Вам, , не нужно публиковать исходный код вашей библиотеки, пока файлы, лицензированные по MPL 2. 0, имеют без изменений .

Пожалуйста, прочтите FAQ по MPL 2.0, если у вас есть дополнительные вопросы относительно лицензии.

Вы можете прочитать полные условия здесь: ЛИЦЕНЗИЯ.

MySQL на SQL Server: руководство по миграции — SQL Server

  • 7 минут на чтение

В этой статье

Применимо к: SQL Server (все поддерживаемые версии)

В этом руководстве вы узнаете, как перенести свои базы данных MySQL на SQL Server.

Другие руководства по миграции см. В Руководстве по миграции базы данных Azure.

Предварительные требования

Прежде чем вы начнете перенос базы данных MySQL на SQL Server:

Предварительная миграция

После того, как вы выполнили предварительные требования, вы готовы обнаружить исходную среду MySQL и оценить возможность миграции.

Оценка

Используя SSMA для MySQL, вы можете просматривать объекты и данные базы данных, а также оценивать базы данных для миграции.

Для создания оценки:

  1. Откройте SSMA для MySQL.

  2. В меню File выберите New Project .

  3. Введите имя проекта и место для сохранения проекта и цель миграции. Затем выберите SQL Server в параметре Migrate To .

  4. В диалоговом окне Connect to MySQL введите данные подключения, а затем подключитесь к серверу MySQL.

  5. Выберите базы данных MySQL, которые нужно перенести.

  6. Щелкните правой кнопкой мыши базу данных MySQL в MySQL Metadata Explorer и выберите Create Report . Кроме того, вы можете выбрать вкладку Create Report в правом верхнем углу.

  7. Просмотрите отчет HTML, чтобы понять статистику конверсий и любые ошибки или предупреждения. Вы также можете открыть отчет в Excel, чтобы получить перечень объектов MySQL и усилий, необходимых для выполнения преобразований схемы.Местоположение по умолчанию для отчета находится в папке отчетов в SSMAProjects, как показано здесь:

    диск: \ Users \ <имя пользователя> \ Documents \ SSMAProjects \ MySQLMigration \ report \ report_2016_11_12T02_47_55 \ .

Проверить сопоставление типов

Проверьте сопоставления типов данных по умолчанию и при необходимости измените их в соответствии с требованиями. Для этого:

  1. В меню Tools выберите Project Settings .

  2. Выберите вкладку Type Mapping .

  3. Вы можете изменить сопоставление типов для каждой таблицы, выбрав таблицу в MySQL Metadata Explorer .

Дополнительные сведения о настройках преобразования в SSMA для MySQL см. В разделе «Параметры проекта».

Преобразовать схему

Преобразование объектов базы данных берет определения объектов из MySQL, преобразует их в аналогичные объекты SQL Server, а затем загружает эту информацию в метаданные SSMA для MySQL.Он не загружает информацию в экземпляр SQL Server. Затем вы можете просмотреть объекты и их свойства с помощью обозревателя метаданных SQL Server.

Во время преобразования SSMA для MySQL выводит сообщения вывода на панель вывода, а сообщения об ошибках — на панель списка ошибок . Используйте выходные данные и информацию об ошибках, чтобы определить, нужно ли вам изменять базы данных MySQL или процесс преобразования для получения желаемых результатов преобразования.

Для преобразования схемы:

  1. (Необязательно) Чтобы преобразовать динамические или специальные запросы, щелкните правой кнопкой мыши узел и выберите Добавить оператор .

  2. Выберите вкладку Connect to SQL Server .

    1. Введите сведения о подключении для вашего экземпляра SQL Server.
    2. Выберите целевую базу данных из раскрывающегося списка или введите новое имя, и в этом случае база данных будет создана на целевом сервере.
    3. Введите данные аутентификации, а затем выберите Connect .

  3. Щелкните правой кнопкой мыши базу данных MySQL в MySQL Metadata Explorer , а затем выберите Convert Schema .Кроме того, вы можете выбрать вкладку Convert Schema в правом верхнем углу.

  4. После завершения преобразования сравните и просмотрите преобразованные объекты с исходными объектами, чтобы выявить потенциальные проблемы и устранить их на основе рекомендаций.

  5. Сравните преобразованный текст Transact-SQL с исходным кодом и просмотрите рекомендации.

  6. На панели вывода выберите Просмотреть результаты и просмотрите ошибки в области Список ошибок .

  7. Сохраните проект локально для выполнения упражнения по исправлению схемы в автономном режиме. В меню File выберите Save Project . Этот шаг дает вам возможность оценить исходную и целевую схемы в автономном режиме и выполнить исправление перед публикацией схемы в SQL Server.

Дополнительные сведения см. На снимке экрана, на котором показано преобразование баз данных MySQL.

Миграция

После того, как у вас есть необходимые предварительные условия и выполнены задачи, связанные с этапом перед миграцией , вы готовы выполнить миграцию схемы и данных.

У вас есть два варианта переноса данных:

Важно

Если вы планируете использовать механизм миграции данных на стороне сервера, перед переносом данных необходимо установить SSMA для пакета расширений MySQL и поставщиков MySQL на компьютере, на котором выполняется SSMA для MySQL. Также должна быть запущена служба агента SQL Server. Дополнительные сведения об установке пакета расширений см. В разделе Установка компонентов помощника по миграции SQL Server на SQL Server (из MySQL в SQL).

Чтобы опубликовать схему и перенести данные:

  1. Опубликуйте схему, щелкнув правой кнопкой мыши базу данных в обозревателе метаданных SQL Server и выбрав Синхронизировать с базой данных .Это действие публикует базу данных MySQL в экземпляре SQL Server.

  2. Просмотрите соответствие между исходным проектом и целевым.

  3. Перенесите данные, щелкнув правой кнопкой мыши базу данных или объект, который вы хотите перенести, в MySQL Metadata Explorer и выбрав Migrate Data . Кроме того, вы можете выбрать вкладку Migrate Data . Чтобы перенести данные для всей базы данных, установите флажок рядом с именем базы данных.Чтобы перенести данные из отдельных таблиц, разверните базу данных, разверните Таблицы , а затем установите флажки рядом с таблицами. Чтобы исключить данные из отдельных таблиц, снимите флажки.

  4. После завершения миграции просмотрите отчет о миграции данных .

  5. Подключитесь к своему экземпляру SQL Server с помощью SQL Server Management Studio и подтвердите миграцию, просмотрев данные и схему.

После миграции

После успешного завершения этапа миграции необходимо выполнить ряд задач после миграции, чтобы убедиться, что все работает как можно более плавно и эффективно.

Исправление приложений

После переноса данных в целевую среду всем приложениям, которые ранее использовали источник, необходимо начать использование целевого объекта. Для выполнения этой задачи в некоторых случаях потребуются изменения в приложениях.

Провести тесты

Тестовый подход к миграции базы данных состоит из следующих действий:

  1. Разработка проверочных тестов : Для тестирования миграции базы данных необходимо использовать запросы SQL. Вы должны создать запросы проверки, которые будут запускаться как в исходной, так и в целевой базах данных. Ваши запросы на проверку должны охватывать определенную вами область.
  2. Настройте тестовую среду : Тестовая среда должна содержать копии исходной и целевой базы данных.Обязательно изолируйте тестовую среду.
  3. Выполнить проверочные тесты : Запустить проверочные тесты для источника и целевого объекта, а затем проанализировать результаты.
  4. Выполнить тесты производительности : Выполнить тесты производительности для источника и целевого объекта, а затем проанализировать и сравнить результаты.

Оптимизировать

Этап после миграции имеет решающее значение для согласования любых проблем с точностью данных, проверки полноты и решения проблем производительности с рабочей нагрузкой.

Миграционные активы

Для получения дополнительной помощи по выполнению этого сценария миграции см. Следующий ресурс. Он был разработан для поддержки реального проекта миграции.

Название Описание
Модель и инструмент оценки рабочей нагрузки данных Этот инструмент предлагает рекомендуемые «наиболее подходящие» целевые платформы, готовность к облаку и уровень исправления приложения или базы данных для данной рабочей нагрузки.Он предлагает простой расчет и создание отчетов в один щелчок, что помогает ускорить оценку крупных объектов недвижимости, обеспечивая автоматизированный и единообразный процесс принятия решения о целевой платформе.
MySQL to SQL Server — Утилита сравнения баз данных Утилита сравнения баз данных — это консольное приложение Windows, которое можно использовать для проверки идентичности данных как на исходной, так и на целевой платформах. Вы можете использовать этот инструмент для эффективного сравнения данных до уровня строки или столбца во всех или выбранных таблицах, строках и столбцах.

Эти ресурсы были разработаны группой инженеров Data SQL. Основная задача этой группы — разблокировать и ускорить комплексную модернизацию проектов миграции платформы данных на платформу данных Microsoft Azure.

Следующие шаги

SQL против MySQL — разница между SQL и MySQL

Планируете ли вы карьеру, которая связана с бизнес-анализом, большими данными или администратором баз данных?

Если да, то у вас должно быть четкое представление о том, что такое SQL, MySQL.Вы не можете ожидать, что проигнорируете эти фундаментальные концепции, если хотите продолжить работу на должностях, связанных с базами данных.

Вы не только должны понимать SQL и MySQL, но также должны понимать основную разницу между ними.

В этой статье мы предоставим вам полное руководство по пониманию разницы между SQL и MySQL.

Бум Интернета и онлайн-бизнеса заставил каждую отрасль исследовать цифровую сторону рынка.Пандемия также стала важным катализатором перехода бизнеса на цифровые технологии и его присутствия в сети. Все это открыло новые возможности для аналитиков данных, бизнес-администраторов, администраторов баз данных и т. Д., Поскольку данные стали основным источником для принятия стратегических решений.

В условиях растущего спроса на создание конвейеров для управления, анализа, хранения и защиты данных профессионалам требуется программное обеспечение и инструменты. так технология познакомила нас с базами данных, системами баз данных, SQL и MySQL.

Давайте взглянем на несколько терминов, прежде чем сразу погрузиться в разницу между MySQL и SQL.


Что такое база данных?

База данных — это совокупность всех данных, хранящихся и организованных в электронном виде в программной системе. Это технология, которая позволяет нам хранить любые типы или большие объемы данных для облегчения доступа и использования.

Существует так много типов баз данных, предназначенных для различных целей, например, централизованные базы данных, управляющие всей информацией для университетов в централизованном месте, или облачная база данных, где информация хранится на сервере, к которому можно получить доступ в режиме онлайн.


Что такое СУБД?

Для управления, извлечения, хранения и обслуживания базы данных требуется система. Это называется системой управления базами данных.

RDBMS (Система управления реляционными базами данных) — это расширенная версия системы баз данных, которая позволяет упорядочивать, поддерживать, извлекать и управлять базами данных в табличном формате. Это один из наиболее часто используемых инструментами аналитиков или администраторов баз данных для обработки больших объемов данных.

RDBMS — лучший выбор для многих компаний высшего уровня, поскольку она упорядочивает данные в таблицах, которые обеспечивают следующие преимущества:

  • Limited Data Redundancy
  • Data Security
  • Easy Data Recovery and Backup
  • Enhanced Data Usability
  • Multiple Users может получить доступ к данным

Некоторыми примерами СУБД являются MYSQL, Oracle и т. д.


Что такое SQL?

SQL или язык структурированных запросов — это язык программирования, который позволяет выполнять функции извлечения, управления и хранения данных в системе управления реляционными базами данных.

Как и для создания приложения в любой системе, вам необходим язык программирования, он также необходим для управления базами данных.

Условие операторов SQL является декларативным по своей природе и известно как SQL-запрос. Существуют различные предложения SQL, которые можно использовать при написании запросов для определения цели действия.
Некоторые из самых основных и фундаментальных предложений и их функции:

  • SELECT: извлекает данные из базы данных
  • CREATE DATABASE: создает новую базу данных
  • DELETE: удаляет данные из набора данных
  • ALTER TABLE: изменяет таблицу
  • INSERT INTO: вставляет новые данные в базу данных
  • CREATE TABLE: создает новую таблицу в базе данных
  • UPDATE: обновляет данные в базе данных
  • FROM: извлекает данные из определенных столбцов таблицы
  • WHERE: фильтрует записи на основе условий

Формат и структура каждого SQL-запроса индивидуальны и чувствительны к регистру.Нужно быть безупречным в написании операторов SQL. Предположим, для извлечения всех данных из таблицы data_science структура SQL-запроса будет следующей:

SELECT * FROM data_science;

На что следует обратить внимание

  • Оператор будет запущен командой.
  • Конец запроса будет отмечен точкой с запятой.
  • Символ «*» обозначает все.

Помимо общих предложений, есть много ключевых слов SQL, а также AS (запрос для создания псевдонима для имени таблицы или столбца), BETWEEN (позволяет выбирать данные или значения из заданного диапазона), LIMIT (извлекать данные из заданное количество строк в таблице) для выполнения определенных функций.

SQL — это стандартизированный интерактивный язык программирования, который используется многими организациями из-за его переносимости, более быстрой обработки запросов и эффективности поиска и управления базами данных.

Что такое MySQL?

MySQL, которая сейчас принадлежит и управляется Oracle Corporation, представляет собой тип системы управления реляционными базами данных. Это платформа с открытым исходным кодом, которая позволяет хранить, извлекать и управлять реляционными базами данных.

Что такое MySQL?

MySQL использует запросы SQL для выполнения действий с базой данных.MySQL — одна из самых популярных СУБД, она более быстрая, эффективная, надежная и простая в использовании.

Многие ведущие компании, такие как Yahoo, Google, Facebook и многие другие, предпочитают MySQL в качестве системы баз данных для управления большим объемом данных.

Преимущества использования MySQL:

  • Открытый исходный код
  • Безопасность данных
  • Гибкость и масштабируемость по запросу
  • Высокая производительность
  • Комплексное управление рабочим процессом
  • Полная поддержка транзакций

Совместимость с различными современные языки программирования, включая C ++, C, Java, Python и т. д., для разных платформ, будь то Windows, Linux или macOS.Его универсальность и кроссплатформенность делают его инновационным и высококачественным продуктом для клиентов.

Разница между SQL и MySQL

Разница между SQL и MySQL

Бывают моменты, когда люди не понимают, что такое SQL и что такое MySQL. Итак, давайте посмотрим на основное различие между SQL и MySQL.

Категория ключей SQL MySQL
Разработчики / владельцы SQL разработан Microsoft Corporation. MySQL был разработан MySQL AB, но в настоящее время приобретен и принадлежит Oracle Corporation.
Функция SQL — это язык структурированных запросов, используемый для управления и извлечения данных из системы баз данных MySQL — это система реляционных баз данных, которая использует SQL для запроса данных из баз данных.
Синтаксис и формат Синтаксис и формат фиксированные, декларативные и простые в использовании.
Начинается с предложения и заканчивается точкой с запятой.
MySQL — это программное обеспечение, а не язык программирования, поэтому он не имеет никаких команд или определенного формата.

Однако есть последние обновления и версии MySQL для повышения производительности.

Лицензирование / доступность SQL — это проприетарное программное обеспечение, принадлежащее Microsoft и недоступное для других бесплатно. MySQL — это бесплатная платформа с открытым исходным кодом, которая обеспечивает доступ всем и каждому.
Поддержка платформы SQL был создан для WIndows, частично работает для Linux, macOS с последними версиями. MySQL адаптируется для кроссплатформенности, хорошо работает для Linux, macOS, Windows.
Поддержка языков SQL сам по себе является языком программирования, используемым для систем баз данных. MySQL поддерживает все основные языки программирования, такие как C, C ++, Perl, PHP, Python, Ruby и многие другие.
Механизм хранения SQL поддерживает только один механизм хранения для различных операций MySQL поддерживает разные механизмы хранения и не занимает много места для различных функций и операций.Он также включает механизм хранения плагинов.
Безопасность данных Серверы SQL защищены, так как третьи лица или посторонние не могут манипулировать данными. MySQL подвержен большему количеству угроз безопасности из-за своей природы открытого исходного кода. Он дает доступ к манипулированию и изменению данных неавторизованным пользователям, а также во время выполнения.
Сервер и база данных В SQL сервер и база данных работают независимо.Это позволяет пользователям или заинтересованным сторонам работать с базами данных даже во время сеансов восстановления. Серверы MySQL не работают независимо от баз данных и, следовательно, блокируют время для пользователей делать что-либо еще.

Эта функция снижает вероятность манипулирования или повреждения данных во время переноса данных в разные версии программного обеспечения.

Восстановление данных Время, затрачиваемое на восстановление данных в SQL, меньше для большого объема данных. В MySQL процесс восстановления данных занимает довольно много времени и требует для этого нескольких операторов SQL.
Выполнение запроса SQL позволяет усекать запрос даже во время выполнения без отключения всего процесса. MySQL не позволяет отменять запрос в середине выполнения. Пользователь может отменить выполнение запроса за счет остановки всего процесса.
Многоязычный SQL доступен на разных языках. MySQL доступен только на одном языке, а именно на английском.
Поддержка коннекторов SQL не поддерживает и не поддерживает коннекторы. MySQL поддерживает такие соединители, как WorkBench Tool, для создания баз данных.
Гибкость SQL поддерживает пользовательские функции и XML. MySQL не поддерживает никаких пользовательских функций и XML.
Поддержка сообщества Единственная поддержка для проблем и запросов SQL — это служба поддержки Майкрософт из-за ее высокозащищенного использования. MySQL пользуется большой поддержкой сообщества, поскольку предоставляет бесплатный доступ.
Преимущества — Интерактивный язык
— Кодирование не требуется
— Переносимость
— Высокая скорость
— Несколько представлений данных
— Открытый исходный код
— Безопасность данных
— Высокая производительность
— Полный контроль рабочего процесса

Заключение

Нельзя отрицать тот факт, что существует значительная разница между SQL и MySQL.Однако, в заключение, наклон в какую-либо сторону невозможен.

SQL — это язык программирования, тогда как MySQL — это программное обеспечение с открытым исходным кодом. Оба они довольно популярны в своей области и востребованы в профессиях, которые делают упор на управление и администрирование данных в стратегических или проницательных целях.

SQL и MySQL имеют разные цели и функции. Все ваши решения вступают в игру, когда вы сравниваете их с их конкурентами, например, предпочитаете MySQL другим СУБД из-за его безопасности данных, высокой производительности и бесплатного доступа.

SQL и MySQL могут отличаться, но имеют сходство, что помогает заинтересованным сторонам достичь масштабируемости, эффективности и производительности.


Часто задаваемые вопросы

MySQL — это то же самое, что SQL Server?

Нет, MySQL и SQL Server — это разные системы управления реляционными базами данных, которые поддерживают разные платформы и языки программирования, такие как C ++, Python, PHP и т. Д.

Должен ли я изучать SQL или MySQL?

Для работы с любой системой управления базами данных вам необходимо выучить стандартный язык запросов или SQL.Поэтому лучше сначала выучить язык, а затем понять основы СУБД.

Насколько сложно выучить SQL?

SQL на самом деле не сложный язык. Это базовый язык с фиксированным форматом и на самом деле не так много обновлений. Следовательно, если вы задумаетесь, вы сможете легко этому научиться.

Какие программы используют SQL и MySQL?

Многие известные веб-приложения и компании используют MySQL, например WordPress, Youtube, Joomla и т. Д.SQL также используется многими платформами, такими как MYSQL, Oracle, Microsoft SQL Server и т. Д.

Можно ли использовать MySQL бесплатно?

Да, MySQL — это бесплатная система управления реляционными базами данных с открытым исходным кодом.

VMware Tanzu SQL с MySQL для виртуальных машин

Последнее обновление страницы:

В этом разделе представлен обзор службы VMware Tanzu SQL с MySQL для виртуальных машин по запросу.

О Tanzu SQL для виртуальных машин

Tanzu SQL для виртуальных машин позволяет разработчикам выделять и использовать выделенные экземпляры базы данных MySQL по запросу.Когда вы устанавливаете Tanzu SQL для виртуальных машин, плитка развертывает и поддерживает единого сервисного брокера, который объединяет Tanzu SQL для виртуальных машин с Ops Manager.

Tanzu SQL для виртуальных машин по умолчанию настроен с разумными настройками, поэтому что служба соответствует ожиданиям пользователей от реляционной базы данных общего назначения.

Tanzu SQL для виртуальных машин поддерживает следующие топологии виртуальных машин:

  • Одиночный узел.
  • Лидер-последователь. Для дополнительной информации, см. О лидере-последователе.
  • Высокодоступный (HA) кластер.Для высокодоступных кластеров Tanzu SQL for VMs использует исправленный кластер Galera с именем Percona XtraDB Cluster (PXC). Для получения дополнительной информации о PXC, см. Percona XtraDB Cluster.
  • Многосайтовая репликация. Для дополнительной информации, см. О многосайтовой репликации.

Снимок продукта

В следующей таблице представлена ​​информация о версии и поддержке версий Tanzu SQL для виртуальных машин.

Элемент Детали
Версия 2.10,5
Дата выпуска 14 октября 2021 г.
Совместимые версии Ops Manager 2,10 и 2,9
Совместимая служба приложений VMware Tanzu для виртуальных машин (TAS для виртуальных машин) версии 2,11, 2,10, 2,9 и 2,7
Поддержка IaaS AWS, Azure, GCP, OpenStack и vSphere
Поддержка IPsec Есть

Обслуживание по запросу

Tanzu SQL для виртуальных машин — это услуга по запросу.Это означает, что сервис предоставляет выделенные экземпляры MySQL, который разработчики могут предоставлять по запросу с помощью интерфейса командной строки cf или диспетчера приложений.

С Tanzu SQL для виртуальных машин у вас есть больше вариантов того, как и когда предоставлены экземпляры. Tanzu SQL для виртуальных машин позволяет оператору и разработчику настраивать параметры MySQL и использование ресурсов.

Служба Tanzu SQL для виртуальных машин по запросу использует брокера служб по запросу. Для получения информации об услуге по запросу брокера см. в SDK служб по требованию.

План обслуживания по запросу

Tanzu SQL для виртуальных машин предлагает план обслуживания по запросу под названием p.mysql . Операторы могут настраивать и обновлять параметры плана.

Когда операторы обновляют виртуальную машину или размер диска, эти параметры применяется ко всем существующим экземплярам. Если оператор уменьшает размер диска, в существующих экземплярах может произойти потеря данных.

Контрольный список для предприятий

Просмотрите следующую таблицу, чтобы определить, имеет ли Tanzu SQL для виртуальных машин функции, необходимые для поддержки вашего предприятия:

Планы и экземпляры Дополнительная информация
Планы для выделенных виртуальных машин по требованию Tanzu SQL для виртуальных машин предоставляет планы обслуживания по запросу. Сеть по требованию
Настраиваемые планы Операторы могут настроить виртуальную машину, размер диска и зону доступности для тарифных планов. Настройка планов обслуживания
Пользовательские схемы Tanzu SQL для виртуальных машин поддерживает настраиваемые схемы. Использование настраиваемых схем позволяет приложениям совместно использовать экземпляр службы MySQL и изолировать данные приложения по схеме. Использовать настраиваемые схемы
Экземпляры службы общего доступа Tanzu SQL для виртуальных машин поддерживает совместное использование экземпляров службы между различными организациями и пространствами. Экземпляры службы общего доступа
Установка и обновление Дополнительная информация
Обновления продукта Tanzu SQL для виртуальных машин можно обновить в рамках серии плиток v2. Обновление Tanzu SQL для виртуальных машин
Дымовые испытания развертывания Tanzu SQL для установки и обновления виртуальных машин посылку BOSH после развертывания, которая проверяет базовые операции MySQL. дымовых
Техническое обслуживание и резервное копирование Дополнительная информация
Оперативный мониторинг и регистрация Tanzu SQL для виртуальных машин предоставляет метрики для мониторинга использования тарифных планов, квот обслуживания, и метрики компонентов MySQL.Tanzu SQL для виртуальных машин также может пересылать метрики во внешнюю службу. Мониторинг Tanzu SQL для виртуальных машин
Резервное копирование и восстановление Tanzu SQL для виртуальных машин обеспечивает резервное копирование на внешнее хранилище по настраиваемому расписанию. Tanzu SQL для виртуальных машин также обеспечивает процесс восстановления. Настройка автоматического резервного копирования и Резервное копирование и восстановление Tanzu SQL для виртуальных машин
Масштаб и доступность Дополнительная информация
Масштабирование Операторы могут увеличивать размер виртуальных машин, но не уменьшать их. Установка и настройка Tanzu SQL для виртуальных машин
Прокатные развертывания Tanzu SQL для виртуальных машин поддерживает последовательное развертывание при обновлении кластеров высокой доступности. Однако экземпляры службы с одним узлом и «лидер-последователь» недоступны во время обновлений. Обновление Tanzu SQL для виртуальных машин
AZ Поддержка Tanzu SQL для виртуальных машин можно развернуть в нескольких зонах, чтобы гарантировать доступность, если происходит незапланированное отключение зоны. О зонах доступности
Шифрование Дополнительная информация
Безопасность транспортного уровня (TLS) Tanzu SQL для виртуальных машин поддерживает TLS. Включение TLS предоставляет серверу MySQL сертификат чтобы приложения и клиенты могли устанавливать зашифрованное соединение со службой данных. Подготовка к TLS
Зашифрованная передача данных в пути Tanzu SQL для виртуальных машин успешно протестирован с надстройкой BOSH IPsec. Надстройка IPsec

Обратная связь

Присылайте любые проблемы, запросы функций или вопросы по адресу Список отзывов.

Подключение SQL Server Management Studio к MySQL через ODBC

Требования

Во избежание некорректной интеграции с MS SSMS рабочая среда должна соответствовать следующим условиям:

  • Источником данных должен быть настроенный системный DSN. См. Статью о конфигурации драйвера, чтобы узнать, как настроить системный DSN
  • .
  • Драйвер, студия и SQL Server должны иметь одинаковую разрядность.Например, если вы используете 64-разрядную среду SQL Server Management Studio на 64-разрядной платформе Windows, настройте 64-разрядную версию драйвера с помощью администратора ODBC, запущенного из% windir% \ system32 \ odbcad32.exe. В противном случае настройте драйвер с помощью 32-разрядной версии ODBC Administrator — запустите его из% windir% \ SysWOW64 \ odbcad32.exe.
  • Драйвер ODBC
  • для MySQL и SQL Server должен быть установлен на одном компьютере.
  • На компьютере должен быть установлен
  • .NET Framework 4.5.

Подключение к MySQL из SQL Server Management Studio с помощью драйвера ODBC для MySQL

Вы можете использовать Microsoft SQL Server Management Studio для подключения данных MySQL к экземпляру SQL Server. Связанный сервер — это инструмент MS SQL Server, который позволяет выполнять распределенные запросы для ссылки на таблицы, хранящиеся в базе данных, отличной от SQL Server, в одном запросе. С помощью связанных серверов вы можете выполнять команды для различных источников данных, таких как MySQL, и объединять их с базой данных SQL Server.Вы можете создать связанный сервер одним из следующих способов: с помощью параметров в обозревателе объектов или путем выполнения хранимых процедур.

Ниже приведены основные преимущества использования связанных серверов SQL Server для подключения к MySQL:

  1. Возможность подключения других экземпляров базы данных на том же или удаленном сервере.
  2. Возможность выполнять распределенные запросы к разнородным источникам данных в организации.
  3. Возможность одинаково работать с разными источниками данных.

Как настроить связанный сервер SQL Server для подключения к MySQL

Вы можете выполнить шаги по созданию связанного сервера для MySQL в SQL Server Management Studio с помощью обозревателя объектов:

  1. Запустите Management Studio и выберите свой экземпляр SQL Server.
  2. На панели обозревателя объектов разверните Server Objects , щелкните правой кнопкой мыши Linked Server , а затем щелкните New Linked Server .
  3. Настройте связанный сервер в диалоговом окне:
  • Введите имя для вашего сервера в поле Linked server .
  • В разделе Тип сервера выберите Другой источник данных .
  • Выберите Microsoft OLE DB Provider for ODBC Drivers в раскрывающемся списке Provider .
  • В поле Источник данных введите имя вашего DSN, например Драйвер Devart ODBC для MySQL.Кроме того, вы можете ввести строку подключения драйвера ODBC в поле Provider .

Связанный сервер появится под Связанными серверами в Панели обозревателя объектов. Теперь вы можете выполнять распределенные запросы и получать доступ к базам данных MySQL через SQL Server.

Получение данных из MySQL

Отключите параметр Разрешить внутрипроцесс поставщика MSDASQL OLE DB для драйверов ODBC. Для этого найдите поставщика MSDASQL в списке связанных серверов и дважды щелкните по нему

В появившемся окне Provider Options снимите флажок Allow inprocess :

Создать новый связанный сервер

Обязательно выберите Microsoft OLE DB Provider for ODBC Drivers и укажите следующие параметры:

Таблицы MySQL уже доступны для выборки.Чтобы запросить связанный сервер, щелкните Новый запрос на панели инструментов:

Введите свой SQL-запрос в окно редактора и нажмите Выполнить , чтобы запустить запрос:

В результате вы можете видеть содержимое выбранной таблицы, полученное непосредственно из учетной записи MySQL, к которой вы подключены.

Внимание

Если связанный сервер был создан с включенной опцией «Разрешить внутрипроцесс», вам следует удалить этот связанный сервер и создать его снова с отключенной опцией «Разрешить внутрипроцесс».

См. Также

Понимание разницы между SQL и MySQL

С ростом использования данных в деловом мире потребность в управлении базами данных также значительно выросла. Эти базы данных выросли и стали неотъемлемой частью любого бизнеса, независимо от размера и структуры.

Но данные бесполезны, если не проанализированы. Для этой цели компании используют СУБД (систему управления реляционными базами данных). РСУБД помогает администраторам баз данных и организациям развивать отношения между отдельными наборами данных с помощью инструментов управления.В этой статье вы познакомитесь с двумя широко популярными и эффективными инструментами управления и узнаете разницу между SQL и MySQL. Но прежде чем углубляться в разницу между SQL и MySQL, важно понять их индивидуально.

БЕСПЛАТНЫЙ курс
: Введение в аналитику данных
Освоение основ аналитики данных на расстоянии одного клика! Начать обучение

Что такое SQL?

SQL — это сокращение от языка структурированных запросов. В соответствии с рекомендациями ANSI (Американский национальный институт стандартов) SQL является стандартным языком для обслуживания и управления базой данных.Таким образом, помимо нескольких незначительных изменений синтаксиса, большинство запросов баз данных для извлечения, добавления или обработки данных основаны на стандартном синтаксисе SQL.

SQL был впервые разработан в IBM. С помощью SQL вы можете легко запрашивать базу данных для добавления, изменения, обновления или удаления данных на простом английском языке. Вы можете использовать SQL для управления несколькими системами управления реляционными базами данных, такими как MySQL, SQL Server, Oracle и MS Access. Написав коды и запросы на SQL, вы можете создавать и изменять любую базу данных вместе с созданием схем.

Что такое MySQL?

MySQL — это система управления реляционными базами данных, разработанная и выпущенная еще в 1995 году. Она была разработана и спонсирована компанией MySQL AB, которая затем была приобретена Sun Microsystems, которую вы сегодня знаете как Oracle Corporation. MySQL — это комбинация слов My (дочь соучредителя) и SQL.

MySQL была одной из первых СУБД с открытым исходным кодом, которые когда-либо разрабатывались и запускались. В настоящее время существует множество вариантов MySQL. Однако основной синтаксис всех вариантов остается неизменным.Разработанный и написанный на языках программирования C и C ++, MySQL совместим со всеми основными ОС (операционными системами). Это основной компонент широко популярного стека программного обеспечения веб-приложений с открытым исходным кодом под названием LAMP, что означает Linux, Apache, MySQL, PHP / Perl / Python.

Магистерская программа для бизнес-аналитиков
Получите знания в области инструментов бизнес-аналитики

В чем разница между SQL и MySQL?

Теперь, когда вы знаете базовый обзор и концепцию, давайте посмотрим на основные различия между SQL и MySQL.

SQL

MySQL

SQL — это язык программирования запросов, который управляет СУБД.

MySQL — это система управления реляционными базами данных, использующая SQL.

SQL в основном используется для запросов и управления системами баз данных.

MySQL позволяет обрабатывать, хранить, изменять и удалять данные, а также хранить данные в организованном порядке.

SQL не поддерживает никаких соединителей.

MySQL поставляется со встроенным инструментом, известным как MySQL Workbench, который упрощает создание, проектирование и построение баз данных.

SQL следует простому стандартному формату без множества или регулярных обновлений.

MySQL имеет множество вариантов и часто обновляется.

SQL поддерживает только один механизм хранения.

MySQL предлагает поддержку нескольких механизмов хранения вместе с подключаемым хранилищем, что делает его более гибким.

SQL не позволяет другим процессорам или даже собственным двоичным файлам манипулировать данными во время выполнения.

MySQL менее безопасен, чем SQL, поскольку позволяет сторонним процессорам манипулировать файлами данных во время выполнения.

Получите знания о новейших инструментах и ​​методах бизнес-аналитики с помощью программы сертификации бизнес-аналитиков.Запишитесь сейчас!

Вывод:

В этой статье вы рассмотрели ключевые различия между SQL и MySQL.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *