Как создать базу данных в линукс

Обновлено: 03.07.2024

Создание базы данных в Linux

1. Пусть пользователь работает под своей учетной записью, а не как суперпользователь root. Необходимо запустить терминальный сеанс и стать суперпользователем (Для этого выполните команду su и введите пароль суперпользователя root ).

2. Запустим сервер MySQL. Вводим:

Система предлагает ввести пароль пользователя root MySQL, который был задан при установке MySQL в Linux. (Примечание: Это пароль пользователя root системы MySQL, а не пользователя root системы Linux). Введите пароль, который не изображается на экране по соображениям безопасности.

После успешной регистрации, система выводит приветствие и приглашение mysql, как показано на рис. 3.3.

(Вас приветствует монитор MySQL. Команды заканчиваются символами ; или \g. id соединения с MySQL равен 1 для сервера версии: 5.01.01. Введите 'help', чтобы получить справку).

3. Теперь можно создавать базу данных employees. Выполните команду:

(Примечание: команда заканчивается точкой с запятой)

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

Эта команда предоставляет учетной записи freak@localhost все полномочия на базу данных employees и задает пароль pass. Для любого другого пользователя freak можно заменить на любое другое имя пользователя и выбрать подходящий пароль.

5. Закройте сеанс mysql, вводя в приглашении команду quit. Выйдите из режима суперпользователя и перейдите в свою учетную запись. (Введите exit ).

6. Чтобы соединиться с MySQL с помощью обычной учетной записи, введите:

7. Ввод команды SHOW DATABASES; выведет список всех доступных в системе баз данных.

На экране должно появиться окно, аналогичное рис. 3.4.

Введите quit в строке приглашения mysql>, чтобы выйти из программы клиента mysql.

В этом кратком руководстве вы установите 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 ГБ памяти.

В настоящее время подсистема 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 ГБ памяти.

В настоящее время подсистема 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 : Удаление SQL Server на Linux . Узнайте, как создать сценарий для установки без каких-либо запросов . Узнайте, как вручную загрузить пакеты для установки в автономном режиме

Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.

В этом руководстве объясняется, как создавать базы данных MySQL или MariaDB через командную строку.

Подготовка

Мы предполагаем, что в вашей системе уже установлен сервер MySQL или MariaDB.

Чтобы получить доступ к оболочке MySQL, введите следующую команду и при появлении запроса введите пароль root-пользователя MySQL:

Если вы не установили пароль для своего пользователя root MySQL, вы можете опустить опцию -p .

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

Создать базу данных MySQL

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

Чтобы избежать ошибок, если база данных с тем же именем, которое вы пытаетесь создать, существует, используйте оператор IF NOT EXISTS :

В выходных данных выше Query OK означает, что запрос был успешным, а одно 1 warning сообщает нам, что база данных уже существует, и что новая база данных не была создана.

В Linux имена баз данных и таблиц MySQL чувствительны к регистру.

Просмотреть все базы данных MySQL

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

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

Выберите базу данных MySQL

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

Чтобы выбрать базу данных перед началом сеанса MySQL, используйте следующую инструкцию:

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

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

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

Создайте базу данных MySQL с помощью mysqladmin

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

Например, чтобы создать базу данных с именем database_name , вы должны использовать следующую команду:

Выводы

Мы показали вам, как создавать и выбирать базы данных MySQL с помощью оболочки MySQL и команды mysqladmin .

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


Когда я говорю «простые», я и имею ввиду простые. Эта статья не сделает из вас профессионального администратора баз данных MySQL. Однако отсюда вы сможете почерпнуть некоторые знания о MySQL, которых вам вполне может хватить для решения задач, вроде настройки WordPress или создания резервной копии базы данных MySQL.

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

Также, умение работать с MySQL из командной строки даёт вам возможность работать с ней и из скриптов. Вы же не можете работать из скриптов с phpMyAdmin (некоторые могут, но это уже больше напоминает извращения)? Так что, если вы хотите, например, организовать еженедельное копирование ваших баз данных, то умение работать с MySQL из командной строки будет весьма кстати.

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

Подключение

Итак, давайте начнём с подключения к MySQL при помощи команды:

Вместо username введите имя существующего в вашей инсталляции MySQL пользователя.

Теперь, находясь в оболочке mysql-клиента, можно увидеть список доступных БД при помощи команды:

Обратите на точку с запятой в конце. Она сообщает MySQL о том, что команда завершена. Если строку не завершить этим символом, то после нажатия Enter MySQL будет ожидать ввода продолжения команды в новой строке. Такое поведение MySQL часто оказывается полезным при вводе нескольких команд за один раз.

Также имейте ввиду, что MySQL хранит историю команд. Нажмите стрелку вверх и вы увидите введённую вами ранее команду.

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

заменив databasename на имя нужной вам базы данных. Нужной вам базы данных не существует и вам необходимо её создать? Нет проблем!

Создание баз данных и таблиц

Создать базы данных очень просто. Просто введите в оболочке MySQL команду:

заменив dbname на имя создаваемой БД.

Также, вы можете воспользоваться программой mysqladmin, чтобы создать новую БД:

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

/.my.cnf, поместив в него ваше имя пользователя и пароль MySQL, но я не рекомендую вам этого делать, поскольку это значительно снизит уровень безопасности.

Утилиту mysqladmin вы можете использовать для решения многих административных задач. Например, вы можете запускать, останавливать и перезагружать сервер MySQL. Ну, к примеру, остановить MySQL-сервер по какой-то причине? Воспользуйтесь командой:

Если желаете ознакомиться со списком всех доступных команд mysqladmin, воспользуйтесь ключом --help:

Чтобы создать таблицу в БД, используется инструкция CREATE TABLE table_name, после которой следует описание создаваемой таблицы. Поскольку каждая таблица обычно имеет несколько полей для хранения информации различных типов, то команды создания таблиц обычно получаются весьма длинными. Вот, например, команда, создающая таблицу для WordPress:

В этом примере я опустил некоторые инструкции ради краткости, однако основные моменты здесь отображены. После инструкции CREATE TABLE вы видите инструкции с описанием полей таблицы. Описание поля таблицы состоит из имени поля, типа данных, которые буду в нём храниться, а также определения, может ли поле иметь значение NULL (то есть, не содержать данных). Инструкции описания полей таблицы разделены запятыми, а последняя строка указывает MySQL, какой движок (в данном примере — MyISAM) использовать для работы с таблицей, а также опции, специфичные для таблицы в целом.

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

Создание и настройка пользователя

Прежде, чем начать, вы должны знать пароль пользователя root в вашей инсталляции MySQL. Это не тот же самый root, который присутствует в вашей операционной системе. Чтобы не использовать учётную запись root для работы со всеми БД в вашей системе, вы можете создать отдельного пользователя. Например, чтобы работать с БД моего WordPress, я использую отдельного пользователя, наделённого не столь высокими привилегиями, как пользователь root.

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

заменив bob на имя нужного вам пользователя, а password на пароль пользователя.

Однако, созданный пользователь не сможет делать ничего полезного до тех пор, пока ему не предоставить необходимые привилегии в базам данных. Например, если вы хотите дать пользователю bob полный доступ к базе данных wordpress_db, достаточно дать команду:

Вы можете ограничить перечень операций, которые будет разрешено выполнять указанному пользователю. Например, вы можете разрешить лишь операции SELECT, INSERT и DELETE. Подробнее узнать об этом вы можете в соответствующем разделе руководства MySQL.

Создание дампа базы данных

Базы данных MySQL хранятся на диске в двоичном виде в файлах с данными, индексных файле и файлах, описывающих структуру таблиц. Таким образом, каждая БД MySQL хранится в своём каталоге, расположенном в /var/lib/mysql, плюс три файла для каждой таблицы и файл .opt, содержащий параметры БД.

Конечно, можно организовать резервное копирование баз данных, путём простого копирования двоичных файлов, описанных выше, однако гораздо удобнее работать с дампами БД. Как это делается? Очень просто. MySQL имеет утилиту, называемую mysqldump. Например, чтобы сделать дамп БД wordpress_db, вы можете использовать команду:

которая сделает дамп БД wordpress_db в текстовом виде и сохранит его в файле wordpress.sql. Созданный текстовый файл будет содержать SQL-инструкции, выполнив которые, можно будет воссоздать базу данных, и будет иметь больший размер, нежели размер двоичных файлов БД. Например, размер моей БД WordPress составляет 39 мегабайт, в то время как дамп этой БД получился размером в 41 мегабайт. Это несколько больше размера БД в двоичном виде, поскольку дамп содержит некоторую избыточную информацию.

Также mysqldump может создавать дампы не всей БД, а отдельных таблиц.

Восстановить БД из дампа ещё проще. Давайте представим, что необходимо восстановить базу данных с именем wordpress_db из файла wordpress.sql, который мы создали ранее. Всё, что нам понадобится для этого, это имя базы данных, путь к файлу дампа и имя пользователя MySQL, имеющего достаточные привилегии для этого:

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

Итоги

Конечно, для полноценного администрирования MySQL вы должны знать гораздо больше. Как я уже говорил, можно вполне неплохо администрировать MySQL и при помощи phpMyAdmin. В будущих статьях я расскажу вам о нём, а также о более продвинутом использовании MySQL. А пока, я надеюсь, это руководство станет полезным для пользователей, которых интересуют лишь простые операции с MySQL, знание которых не требует квалификации администратора баз данных.

Читайте также: