Начало работы с базами данных на подсистема 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 Server или состояние проверка: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.

Кроме того, может потребоваться запустить включенный скрипт безопасности. Это изменяет некоторые из менее безопасных параметров по умолчанию для таких элементов, как удаленные имена для входа в корне и примеры пользователей. Этот скрипт также включает шаги по изменению пароля для корневого пользователя 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: Установка 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 в дистрибутиве Linux, запущенном WSL, SQL Server на Linux. Чтобы работать с базами данных Microsoft SQL Server в VS Code, попробуйте расширение MSSQL.

Установка 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 на любые имена, просто следите за тем, чтобы не перезаписать команду, которую postgres уже использует!

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

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

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

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

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

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