- MySQL
- Содержание
- Версии MySQL в Ubuntu
- Установка
- Настройка
- Доступ к серверу из сети
- Кодировки
- Администрирование
- Установка root пароля
- Восстановление забытого пароля для root’a
- Отключение и включение автозагрузки сервиса
- MySQL Workbench
- MySQL
- Содержание
- MySQL
- Установка
- Настройка
- Драйверы базы данных
- Расширенные настройки
- Создание настроенного файла my.cnf
- MySQL Tuner
- Ссылки
- Краткое руководство. Установка SQL Server и создание базы данных в Ubuntu
- Предварительные требования
- Установка SQL Server
- Установка SQL Server
- Установка программ командной строки SQL Server
- Локальное подключение
- Создание и запрос данных
- Создание базы данных
- Добавление данных
- Выбор данных
- Выход из приглашения команды sqlcmd
- Оптимальные методы повышения производительности
- Кроссплатформенные средства работы с данными
- Подключение из Windows
- Другие сценарии развертывания
MySQL
Содержание
MySQL — свободная СУБД для малых и средних приложений. Входит в состав LAMP и XAMPP.
Версии MySQL в Ubuntu
Установка
MySQL есть в репозиториях Ubuntu. Он разбит на несколько пакетов.
Для того чтобы установить MySQL сервер выполните команду:
При установке конфигурационный скрипт запросит пароль для администратора (root) базы данных.
Для того чтобы установить консольный клиент MySQL выполните команду:
Для того чтобы установить модуль для работы с MySQL в PHP выполните команду:
Настройка
Конфигурация сервера MySQL содержится в файле /etc/mysql/my.cnf.
Доступ к серверу из сети
По умолчанию сервер MySQL принимает соединения только с локальной машины. Для того, чтобы разрешить подключаться к нему с других машин замените строку
Кодировки
По-умолчанию в Ubuntu MySQL устанавливается с кодировкой latin1 . В этом можно убедиться посмотрев вывод запроса:
В связи с этим, даже используя при работе с сервером команду
и используя при создании таблиц
невозможно добиться полной поддержки кодировки utf8:
Кодировка по-умолчанию все равно останется latin1, что неудобно и может привести к ошибкам.
Чтобы сервер сразу загружался с нужной кодировкой, необходимо отредактировать файл /etc/mysql/my.cnf:
В секцию [mysqld] добавьте следующие строки:
Так же желательно установить кодировку для клиента и mysqldump. Для этого в секциях [client] и [mysqldump] необходимо добавить строчку:
Перезагрузите сервер MySQL:
После этого список переменных будет выглядеть так:
Администрирование
Установка root пароля
Восстановление забытого пароля для root’a
Схожая проблема возникает если не задать пароль при установке MySQL, в этом случае mysql использует плагин unix-socket.
Запустите mysqld с параметрами —skip-grant-tables —user=root :
Если команда не сработает, добавьте строку « skip-grant-tables » в секцию « [mysqld] » файла /etc/mysql/mysql.conf.d/mysqld.cnf . Затем выполните sudo service mysql restart . После выполнения операций удалите эту строку.
Подключитесь к MySQL-серверу командой:
Обновите пароль для root’a:
Для MySQL версий mysqldump . Основные ее параметры приведены в таблице:
Параметр | Описание | Пример |
---|---|---|
-u | Пользователь, от лица которого будет производится дамп баз данных. | -uroot |
-p |
-p
Отключение и включение автозагрузки сервиса
Начиная с версии Ubuntu 15.04 отключение и включение сервисов возможно одной командой, без редактирования конфигов. В примерах команд ниже слово «SERVICE» следует заменить на «mysql».
Узнать стоит ли сервис в автозагрузке:
Убрать сервис из автозагрузки в Ubuntu-16.04:
Добавить сервис в автозагрузку в Ubuntu-16.04:
MySQL Workbench
MySQL Workbench – инструмент для визуального проектирования баз данных. MySQL Workbench существует в двух вариантах:
Источник
MySQL
Содержание
MySQL
Установка
Для установки MySQL запустите следующую команду из терминала:
В процессе установки у вас запросят пароль для пользователя root под MySQL.
Как только установка завершится, сервер MySQL запустится автоматически. Вы можете использовать следующую команду в терминале для проверки, что сервер MySQL запущен:
Когда вы запустите эту команду, ввы сможете увидеть что-то похожее на следующую строку:
Если сервер не работает, вы можете набрать следующую команду для его запуска:
Настройка
Вы можете отредактировать файл /etc/mysql/my.cnf для настройки основных параметров — файл журнала, номер порта и пр. Например, чтобы настроить MySQL на ожидание подключений от компьютеров в сети, измените параметр bind-address на IP адрес сервера:
После изменений в /etc/mysql/my.cnf сервис MySQL нужно перезагрузить:
Если вам потребовалось сменить пароль пользователя root в MySQL, введите в терминале:
Сервис MySQL будет остановлен и вас попросят ввести новый пароль.
Драйверы базы данных
Хотя конфигурация по умолчанию для MySQL, предоставляемая пакетами Ubuntu, имеет великолепную функциональность и работает достаточно хорошо, есть некоторые вещи, которые вы можете решить до того как продолжить.
MySQL разработан так, что позволяет хранить данные по-разному. Эти варианты относятся к драйверам (управляющим модулям — engines) как баз данных, так и хранилищ. Существует два основных драйвера, которые вам могут быть интересны: InnoDB и MyISAM. Драйверы хранилищ прозрачны (незаметны) конечным пользователям. MySQL управляет событиями по-разному на нижнем уровне, но независимо от того, какая система хранения данных используется, вы будете взаимодействовать с базой одним и тем же способом.
Каждый драйвер имеет свои преимущества и недостатки.
Хотя смешивание и связывание драйверов баз данных на уровне таблиц разрешается и может быть привлекательным, это снижает эффективность настройки производительности, которую вы смогли бы провести при разделении ресурсов между двумя системами вместо замешивания их в одно целое.
MyISAM более старая из двух. Она может быть быстрее InnoDB при определенных обстоятельствах и предпочтительна при рабочей нагрузке, ориентированной на чтение данных. Некоторые интернет приложения настроены на использование именно MyISAM (однако это не означает, что они будут медленнее под InnoDB). MyISAM также поддерживает тип данных FULLTEXT, который позволяет осуществлять очень быстрый поиск по большому количеству текстовых данных. Однако MyISAM поддерживает блокировку записи только на уровне таблиц. Это означает, что только один процесс может изменять данные в таблице в один момент времени. Поскольку некоторые приложения, использующие таблицу, могут масштабироваться (работать несколькими экземплярами — scales), это может стать серьезной помехой. Здесь также отсутствует журналирование, что может усложнить восстановление данных после сбоя. Следующая ссылка предоставляет некоторые соображения по использованию MyISAM в работающей базе данных.
InnoDB — более современный драйвер, созданный по принципам ACID, что гарантирует надежную обработку транзакций базы данных. Блокировка записи производится на уровне одной записи в таблице. Это означает возможность нескольких изменений в одной таблице одновременно. Кэширование данных происходит также и в оперативной памяти внутри драйвера базы данных, позволяя кэшировать более эффективно чем на уровне блоков файлов. В соответствии с ACID все транзакции журналируются независимо от основных таблиц. Это позволяет намного более надежно восстанавливать данные при проверке целостности данных.
Начиная MySQL 5.5 InnoDB является драйвером по умолчанию и настоятельно рекомендуется вместо MyISAM, если только у вас нет специфических потребностей, уникальных для этого драйвера.
Расширенные настройки
Создание настроенного файла my.cnf
Существует ряд параметров, которые могут быть указаны в файле настроек MySQL, что со временем позволит вам повысить производительность вашего сервера. Для начальной настройки вам может пригодиться Percona’s my.cnf generating tool. Этот инструмент позволит вам создать файл my.cnf более оптимизированный под специфические возможности вашего сервера и ваши требования.
Не меняйте ваш существующий файл my.cnf на созданный утилитой, если у вас уже загружены данные в вашу базу данных. Некоторые изменения в этом файле могут быть несовместимы, если вы поменяли то, как хранятся данные на диске, после чего вы не сможете запустить MySQL. Если вы все же решили это сделать и у вас есть данные в базе, вам потребуется выполнить mysqldump и загрузить данные повторно:
Эта операция запросит пароль пользователя root перед созданием копии данных. Желательно убедиться, что другие пользователи и процессы не используют базу во время этой операции. В зависимости от количества данных в вашей базе, это может занять длительное время. Вы не увидите ничего на экране во время этого процесса.
Как только файл выгрузки создан, остановите MySQL:
Теперь сохраните оригинальный файл my.cnf и замените его на новый:
Затем удалите и создайте заново пространство базы данных, а также убедитесь в корректности его владельца перед запуском MySQL:
Теперь все, что осталось — это импортировать ваши данные. Чтобы дать нам представление как идет процесс импорта, полезно использовать утилиту ‘Pipe Viewer’ (pv). Далее показано как установить и использовать pv для этого случая, но если вы не хотите ее использовать, просто замените pv на cat в соответствующей команде. Не обращайте внимание на время ETA (расчетное время окончания), генерируемое pv, поскольку оно основывается на среднем времени обработки каждой записи при сохранении в файл, однако скорость может сильно меняться от записи к записи при использовании mysqldumps:
Когда все завершится, это будет означать что все получилось!
MySQL Tuner
MySQL Tuner — это полезный инструмент, который подсоединяется к работающему MySQL и предлагает варианты как можно улучшить настройки для вашей рабочей нагрузки. Чем дольше работает сервер, тем лучше рекомендации предоставит mysqltuner. Для рабочего окружения подождите как минимум 24 часа прежде чем запускать утилиту. Вы можете установить mysqltuner из хранилища Ubuntu:
После установки запустите ее:
и ждите ее финального отчета. Верхняя секция предоставляет общую информацию а сервере баз данных, а нижняя часть содержит рекомендации по настройке, необходимые для изменения вашего my.cnf. Многие из них могут быть поправлены вживую на сервере без перезагрузки. Смотрите официальную документацию MySQL (указанную в разделе Ссылки) для перечня параметров, изменяемых «налету». Далее часть примерного отчета по работающей базе, который показывает, что можно извлечь некоторую пользу от увеличения размера кэша запросов:
Один финальный комментарий по настройке базы данных: Хотя мы можем утверждать что определенные настройки самые лучшие, производительность может изменяться от приложения к приложению. Например, что работает великолепно для WordPress, может оказаться не лучшим для Drupal, Joomla или проприетарных приложений. Производительность зависит от типов запросов, использования индексов, насколько эффективно спроектирована база данных и т.д. Вы можете посчитать полезным потратить некоторое время на поиск настроек базы данных под используемые вами приложения. Как только вы пройдете определенную точку, любые ваши изменения будут приводить к минимальным улучшениям и вам будет лучше либо заняться улучшением ваших приложений, либо масштабировать вашу базу данных, используя более производительное оборудование или добавляя зависимые сервера.
Ссылки
Смотрите домашнюю страницу MySQL для дополнительной информации.
Полная документация доступна в форматах как онлайн, так и оффлайн по ссылке MySQL Developers portal.
Для общей информации по SQL смотрите Using SQL Special Edition от Rafe Colburn.
Страница Apache MySQL PHP Ubuntu Wiki также содержит полезную информацию.
Источник
Краткое руководство. Установка SQL Server и создание базы данных в Ubuntu
Применимо к: SQL Server (все поддерживаемые версии) — Linux
В этом кратком руководстве вы установите SQL Server 2017 в Ubuntu 16.04/18.04. Затем вы подключитесь с помощью sqlcmd для создания первой базы данных и выполнения запросов.
Для выполнения этого руководства требуется ввод данных пользователем и подключение к Интернету. Если вас интересуют процедуры автоматической или автономной установки, см. руководство по установке SQL Server на Linux. Список поддерживаемых платформ см. в заметках о выпуске.
В этом кратком руководстве показано, как установить SQL Server 2019 в Ubuntu 16.04, 18.04 или 20.04. Затем вы подключитесь с помощью sqlcmd для создания первой базы данных и выполнения запросов.
Ubuntu 20.04 поддерживается, начиная с SQL Server 2019 с накопительным пакетом обновления 20 (CU10).
Для выполнения этого руководства требуется ввод данных пользователем и подключение к Интернету. Если вас интересуют процедуры автоматической или автономной установки, см. руководство по установке SQL Server на Linux. Список поддерживаемых платформ см. в заметках о выпуске.
Предварительные требования
Требуется компьютер, на котором установлена ОС Ubuntu 16.04 или 18.04 и имеется по крайней мере 2 ГБ памяти.
Чтобы установить Ubuntu 18.04 на собственный компьютер, перейдите на страницу http://releases.ubuntu.com/bionic/. Можно также создать виртуальные машины Ubuntu в Azure. См. статью Создание виртуальных машин Linux и управление ими с помощью Azure CLI.
В настоящее время подсистема Windows для Linux для Windows 10 не поддерживается в качестве цели установки для производственных рабочих нагрузок.
Сведения о других требованиях к системе см. в статье Требования к системе для SQL Server на Linux.
Ubuntu 18.04 поддерживается, начиная с SQL Server 2017 с накопительным пакетом обновления 20 (CU20). Если вы хотите использовать инструкции, приведенные в этой статье, с Ubuntu 18.04, убедитесь, что используется правильный путь к репозиторию 18.04 вместо 16.04 .
Если вы используете SQL Server с более ранней версией, конфигурация возможна с изменениями.
Требуется компьютер с установленной версией Ubuntu 16.04, 18.04 или 20.04 и минимум 2 ГБ памяти.
Чтобы установить Ubuntu 20.04 на свой компьютер, перейдите на страницу https://releases.ubuntu.com/20.04/. Можно также создать виртуальные машины Ubuntu в Azure. См. статью Создание виртуальных машин Linux и управление ими с помощью Azure CLI.
В настоящее время подсистема Windows для Linux для Windows 10 не поддерживается в качестве цели установки для производственных рабочих нагрузок.
Сведения о других требованиях к системе см. в статье Требования к системе для SQL Server на Linux.
Установка SQL Server
Следующие команды для SQL Server 2017 ссылаются на репозиторий Ubuntu 18.04. Если вы используете Ubuntu 16.04, в приведенном ниже пути замените /ubuntu/18.04/ на /ubuntu/16.04/ .
Чтобы настроить SQL Server в Ubuntu, выполните следующие команды в терминале для установки пакета mssql-server:
Импортируйте открытые ключи GPG из репозитория:
Зарегистрируйте репозиторий Ubuntu для Microsoft SQL Server:
Для Ubuntu 16.04:
Для Ubuntu 18.04:
Если вы хотите установить SQL Server 2019, необходимо зарегистрировать вместо этого репозиторий SQL Server 2019. Используйте следующую команду для установки SQL Server 2019:
Для Ubuntu 16.04:
Для Ubuntu 18.04:
Выполните следующие команды для установки SQL Server:
Когда установка пакета завершится, выполните команду mssql-conf setup и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск.
Следующие выпуски SQL Server 2017 имеют бесплатные лицензии: Evaluation, Developer и Express.
Для учетной записи системного администратора необходимо установить надежный пароль (минимальная длина — 8 символов; должен содержать строчные и прописные буквы, десятичные цифры и (или) символы, отличные от букв и цифр).
По завершении настройки убедитесь в том, что служба работает.
Если вы планируете подключаться удаленно, может потребоваться открыть в брандмауэре TCP-порт SQL Server (по умолчанию 1433).
В результате сервер SQL Server будет запущен на компьютере Ubuntu и готов к использованию!
Установка SQL Server
Следующие команды для SQL Server 2019 ссылаются на репозиторий Ubuntu 20.04. Если вы используете Ubuntu 18.04 или 16.04, измените приведенный ниже путь на /ubuntu/18.04/ или /ubuntu/16.04/ вместо /ubuntu/20.04/ .
Чтобы настроить SQL Server в Ubuntu, выполните следующие команды в терминале для установки пакета mssql-server:
Импортируйте открытые ключи GPG из репозитория:
Зарегистрируйте репозиторий Microsoft SQL Server Ubuntu для SQL Server 2019:
Для Ubuntu 16.04:
Для Ubuntu 18.04:
Для Ubuntu 20.04:
Выполните следующие команды для установки SQL Server:
Когда установка пакета завершится, выполните команду mssql-conf setup и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск.
Для учетной записи системного администратора необходимо установить надежный пароль (минимальная длина — 8 символов; должен содержать строчные и прописные буквы, десятичные цифры и (или) символы, отличные от букв и цифр).
По завершении настройки убедитесь в том, что служба работает.
Если вы планируете подключаться удаленно, может потребоваться открыть в брандмауэре TCP-порт SQL Server (по умолчанию 1433).
В результате SQL Server 2019 будет запущен на компьютере Ubuntu и готов к использованию!
Установка программ командной строки SQL Server
Чтобы создать базу данных, необходимо подключиться с помощью средства, которое позволяет выполнять инструкции Transact-SQL в SQL Server. Ниже приведены инструкции по установке программ командной строки SQL Server: sqlcmd и bcp.
Чтобы установить mssql-tools в Ubuntu, выполните указанные ниже действия.
По умолчанию CURL не установлен в Ubuntu. Чтобы установить CURL, выполните следующий код:
Импортируйте открытые ключи GPG из репозитория.
Зарегистрируйте репозиторий Ubuntu для Майкрософт.
Для Ubuntu 16.04:
Для Ubuntu 18.04:
Для Ubuntu 20.04:
Обновите список источников и выполните команду установки с помощью пакета разработчика unixODBC. Дополнительные сведения см. в разделе Установка драйвера Microsoft ODBC для SQL Server (Linux).
Чтобы произвести обновление до последней версии mssql-tools, выполните следующие команды:
Необязательно: Добавьте путь /opt/mssql-tools/bin/ в переменную среды PATH в оболочке bash.
Чтобы программы sqlcmd и bcp были доступны из оболочки bash в рамках сеансов входа в систему, измените переменную среды PATH в файле
/.bash_profile с помощью следующей команды:
Чтобы программы sqlcmd и bcp были доступны из оболочки bash в рамках интерактивных сеансов и сеансов без входа в систему, измените переменную среды PATH в файле
/.bashrc с помощью следующей команды:
Локальное подключение
В следующих шагах выполняется локальное подключение к новому экземпляру SQL Server с помощью sqlcmd.
Запустите sqlcmd с параметрами имени вашего SQL Server (-S), имени пользователя (-U) и пароля (-P). В этом руководстве вы подключаетесь локально, поэтому имя сервера — localhost . Имя пользователя — SA , а пароль тот, что вы выбрали для учетной записи SA во время установки.
Вы можете не указывать пароль в командной строке. В этом случае вы получите запрос на его ввод.
Если вы в будущем захотите подключиться удаленно, укажите для параметра -S имя компьютера или IP-адрес и откройте в брандмауэре порт 1433.
Если все сработает должным образом, вы перейдете к приглашению команды sqlcmd: 1> .
Если произойдет сбой подключения, сначала попробуйте узнать проблему по сообщению об ошибке. Затем ознакомьтесь с рекомендациями по устранению неполадок с подключением.
Создание и запрос данных
В следующих разделах приведено пошаговое руководство по созданию базы данных, добавлению данных и запуску простого запроса с использованием sqlcmd.
Создание базы данных
Выполните следующие шаги, чтобы создать базу данных TestDB .
В приглашении команды sqlcmd вставьте следующую команду Transact-SQL, чтобы создать тестовую базу данных:
В следующей строке напишите запрос, который должен вернуть имена всех баз данных на сервере:
Две предыдущие команды были выполнены не сразу. Необходимо ввести GO на новой строке, чтобы выполнить предыдущие команды:
Подробнее о написании инструкций и запросов на языке Transact-SQL см. учебник Tutorial: Writing Transact-SQL Statements.
Добавление данных
Теперь создайте таблицу Inventory и вставьте две новых строки.
В приглашении команды sqlcmd переключите контекст на новую базу данных TestDB :
Создайте таблицу Inventory :
Вставьте данные в новую таблицу:
Введите GO , чтобы выполнить предыдущие команды:
Выбор данных
Теперь выполните запрос, чтобы вернуть данные из таблицы Inventory .
В приглашении команды sqlcmd введите запрос, который должен вернуть из таблицы Inventory строки, где количество превышает 152:
Выход из приглашения команды sqlcmd
Чтобы завершить сеанс sqlcmd, введите QUIT :
Оптимальные методы повышения производительности
После установки SQL Server на Linux ознакомьтесь с рекомендациями по настройке Linux и SQL Server для обеспечения оптимальной производительности в рабочих сценариях. Дополнительные сведения см. в статье Рекомендации по производительности и конфигурации для SQL Server на Linux.
Кроссплатформенные средства работы с данными
Помимо sqlcmd вы можете использовать следующие кроссплатформенные средства для управления SQL Server:
Средство | Описание |
---|---|
Azure Data Studio | Кроссплатформенная служебная программа управления базами данных с графическим пользовательским интерфейсом. |
Visual Studio Code | Кроссплатформенный редактор кода с графическим пользовательским интерфейсом, позволяющий выполнять инструкции Transact-SQL в выражениях mssql. |
PowerShell Core | Кроссплатформенное средство для автоматизации и настройки на основе командлетов. |
mssql-cli | Кроссплатформенный интерфейс командной строки для выполнения команд Transact-SQL. |
Подключение из Windows
Инструменты SQL Server в Windows подключаются к экземплярам SQL Server в Linux так же, как они подключались бы к любому удаленному экземпляру SQL Server.
Если у вас компьютер с ОС Windows, который может подключаться к компьютеру с ОС Linux, попробуйте выполнить те же действия этого раздела в командной строке Windows, запустив sqlcmd. Главное при этом — использовать имя или IP-адрес целевого компьютера с ОС Linux, а не localhost, и открыть TCP-порт 1433. Если у вас возникли проблемы с подключением из Windows, см. рекомендации по устранению неполадок с подключением.
Другие инструменты, которые запускаются в Windows, но подключаются к SQL Server на Linux:
Другие сценарии развертывания
По другим сценариям установки доступны следующие ресурсы.
- Обновление: Узнайте, как обновить установленную среду SQL Server на Linux
- Uninstall: Удаление SQL Server на Linux
- Автоматическая установка. Узнайте, как создать сценарий для установки без каких-либо запросов
- Автономная установка. Узнайте, как вручную загрузить пакеты для установки в автономном режиме
Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.
Источник