Поделиться через


Начало работы с базами данных в подсистеме Windows для Linux

Это пошаговое руководство поможет вам приступить к подключению проекта в WSL к базе данных. Начало работы с MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server или SQLite.

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

Различия между системами баз данных

Некоторые популярные варианты для системы базы данных:

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

PostgreSQL (иногда называется Postgres) также является реляционной базой данных SQL с открытым исходным кодом, с акцентом на расширяемость и соответствие стандартам. Он также может обрабатывать JSON, но обычно лучше использовать структурированные данные, вертикальное масштабирование и требования, совместимые с ACID, такие как электронная коммерция и финансовые транзакции.

Microsoft SQL Server включает SQL Server в Windows, SQL Server на Linux и SQL в Azure. Это также реляционные системы управления базами данных, настроенные на серверах с основной функцией хранения и извлечения данных, запрашиваемых программными приложениями.

SQLite — это локальная база данных с открытым исходным кодом, бессерверная база данных, известная своей переносимостью, надежностью и хорошей производительностью даже в средах с низкой памятью.

MongoDB — это база данных документов NoSQL с открытым исходным кодом, предназначенная для работы с JSON и хранения данных без схемы. Он является горизонтально масштабируемым, что означает, что несколько небольших компьютеров будут выполнять работу для вас. Это хорошо для гибкости и неструктурированных данных, а также кэширования аналитики в режиме реального времени.

Redis — это хранилище данных с открытым кодом NoSQL в памяти. Он использует пары ключ-значение для хранения вместо документов.

Установка MySQL

Чтобы установить MySQL в дистрибутиве Linux, работающем в WSL, просто следуйте инструкциям установке MySQL в Linux в документации MySQL. Вам может потребоваться сначала включить системную поддержку в файле конфигурации wsl.conf.

Пример использования дистрибутива Ubuntu:

  1. Откройте командную строку Ubuntu и обновите доступные пакеты: sudo apt update
  2. После обновления пакетов установите MySQL с помощью: sudo apt install mysql-server
  3. Подтвердите установку и получите номер версии: mysql --version
  4. Запуск сервера MySQL / проверка состояния: systemctl status mysql
  5. Чтобы открыть запрос MySQL, введите: sudo mysql
  6. Чтобы просмотреть доступные базы данных, в командной строке MySQL введите: SHOW DATABASES;
  7. Чтобы создать новую базу данных, введите: CREATE DATABASE database_name;
  8. Чтобы удалить базу данных, введите: DROP DATABASE database_name;

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

Чтобы работать с базами данных MySQL в VS Code, попробуйте расширение MySQL.

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

  1. Запуск сервера MySQL: sudo service mysql start
  2. Запустите запросы скрипта безопасности: sudo mysql_secure_installation
  3. В первом запросе будет предложено настроить компонент VALIDATE PASSWORD, который можно использовать для проверки надежности пароля MySQL. Если вы хотите задать простой пароль, этот компонент не следует задавать.
  4. Затем вы настроите или измените пароль для корневого пользователя MySQL, решите, следует ли удалять анонимных пользователей, разрешать корневому пользователю входить как локально, так и удаленно, решать, следует ли удалить тестовую базу данных, а затем решить, следует ли немедленно перезагрузить таблицы привилегий.

Установка PostgreSQL

Установка PostgreSQL в WSL (т. е. Ubuntu):

  1. Откройте терминал WSL (т. е. Ubuntu).
  2. Обновление пакетов Ubuntu: sudo apt update
  3. После обновления пакетов установите PostgreSQL (и пакет -contrib с некоторыми полезными служебными программами) с помощью: sudo apt install postgresql postgresql-contrib
  4. Подтвердите установку и получите номер версии: psql --version

Существует 3 команды, которые необходимо знать после установки PostgreSQL:

  • sudo service postgresql status для проверки состояния базы данных.
  • sudo service postgresql start, чтобы запустить базу данных.
  • sudo service postgresql stop, чтобы остановить запуск базы данных.

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

  1. Введите команду: sudo passwd postgres
  2. Появится запрос на ввод нового пароля.
  3. Закройте и снова откройте терминал.

Чтобы запустить PostgreSQL с помощью оболочки psql:

  1. Запустите службу postgres: sudo service postgresql start
  2. Подключитесь к службе postgres и откройте оболочку psql: sudo -u postgres psql

После успешного входа в оболочку psql вы увидите, что ваша командная строка изменится, чтобы выглядеть так: postgres=#

Заметка

Кроме того, можно открыть оболочку psql, переключившись на пользователя postgres с помощью: su - postgres, а после этого ввести команду: psql.

Чтобы выйти из postgres=# введите: \q или использовать сочетания клавиш: CTRL+D

Чтобы узнать, какие учетные записи пользователей были созданы в установке PostgreSQL, используйте из терминала WSL: psql --command="\du" ... или просто \du, если у вас открыта оболочка psql. Эта команда будет отображать столбцы: имя пользователя учетной записи, список атрибутов ролей и член групп ролей. Чтобы выйти обратно в командную строку, введите q.

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

Чтобы работать с базами данных PostgreSQL в VS Code, попробуйте плагин PostgreSQL.

Установка MongoDB

Сведения об установке MongoDB см. в документации Mongodb: Install MongoDB Community Edition в Linux

Установка MongoDB может потребовать немного разных шагов в зависимости от дистрибутива Linux, используемого для установки. Кроме того, обратите внимание, что установка MongoDB может отличаться в зависимости от версии, которую вы стремитесь установить. Используйте раскрывающийся список версий в левом верхнем углу документации MongoDB, чтобы выбрать версию, которая соответствует вашей цели. Наконец, может потребоваться включить системную поддержку в файле конфигурации wsl.conf дистрибутива Linux, используемого с WSL. Команда systemctl является частью системы инициализации системы и может не работать, если дистрибутив использует systemv.

VS Code поддерживает работу с базами данных MongoDB с помощью расширения Azure CosmosDB, вы можете создавать базы данных MongoDB и запрашивать их из VS Code. Чтобы узнать больше, см. документацию по VS Code: Работа с MongoDB.

Дополнительные сведения см. в документации MongoDB:

Установка Microsoft SQL Server

Краткое руководство: установка SQL Server и создание базы данных в подсистеме Windows для Linux (WSL 2).

Установка SQLite

Установка SQLite в WSL (т. е. Ubuntu):

  1. Откройте терминал WSL (т. е. Ubuntu).
  2. Обновление пакетов Ubuntu: sudo apt update
  3. После обновления пакетов установите SQLite3 с помощью команды: sudo apt install sqlite3
  4. Подтвердите установку и получите номер версии: sqlite3 --version

Чтобы создать тестовую базу данных с именем "example.db", введите: sqlite3 example.db

Чтобы просмотреть список баз данных SQLite, введите: .databases

Чтобы просмотреть состояние базы данных, введите: .dbinfo ?DB?

База данных будет пуста после создания. Вы можете создать новую таблицу для базы данных с помощью CREATE TABLE empty (kol INTEGER);.

Теперь ввод .dbinfo ?DB? покажет созданную вами базу данных.

Чтобы выйти из консоли SQLite, введите команду: .exit

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

Чтобы работать с базами данных SQLite в VS Code, попробуйте расширение SQLite .

Установка Redis

Установка Redis в WSL (т. е. Ubuntu):

  1. Откройте терминал WSL (т. е. Ubuntu).
  2. Обновление пакетов Ubuntu: sudo apt update
  3. После обновления пакетов установите Redis с помощью: sudo apt install redis-server
  4. Подтвердите установку и получите номер версии: redis-server --version

Запуск сервера Redis: sudo service redis-server start

Проверьте, работает ли redis (redis-cli — это служебная программа интерфейса командной строки для беседы с Redis): redis-cli ping это должно вернуть ответ PONG.

Чтобы остановить работу сервера Redis: sudo service redis-server stop

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

Чтобы работать с базами данных Redis в VS Code, попробуйте расширение Redis .

Просмотрите запущенные службы и настройте псевдонимы профилей

Чтобы просмотреть службы, которые в настоящее время выполняются в дистрибутиве WSL, введите: service --status-all

Ввод sudo service mongodb start или sudo service postgres start и sudo -u postgrest psql может быть мучен. Однако вы можете настроить псевдонимы в файле .profile в WSL, чтобы сделать эти команды более быстрыми для использования и упрощения запоминания.

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

  1. Откройте терминал WSL и введите cd ~, чтобы убедиться, что вы находитесь в корневом каталоге.

  2. Откройте файл .profile, который управляет параметрами терминала с помощью текстового редактора терминала Nano: sudo nano .profile

  3. В нижней части файла (не изменяйте параметры # set PATH), добавьте следующее:

    # My Aliases
    alias start-pg='sudo service postgresql start'
    alias run-pg='sudo -u postgres psql'
    

    Это позволит вам ввести start-pg, чтобы запустить службу postgresql, и run-pg, чтобы открыть оболочку psql. Вы можете изменить start-pg и run-pg на любые имена по вашему желанию, просто будьте осторожны, чтобы не перезаписать команду, которую уже использует PostgreSQL!

  4. После добавления новых псевдонимов выйдите из текстового редактора Nano, используя CTRL+X - выберите Y (да) при появлении запроса на сохранение и ввод (оставляя имя файла как .profile).

  5. Закройте и повторно откройте терминал WSL, а затем попробуйте новые команды псевдонима.

Устранение неполадок

Ошибка: недопустимый аргумент fdatasync для синхронизации каталогов

Убедитесь, что дистрибутив Linux запущен в режиме WSL 2. Сведения о переключении с WSL 1 на WSL 2 см. в статье Установка версии дистрибутива на WSL 1 или WSL 2.

Дополнительные ресурсы