приступая к работе с базами данных на подсистема 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 в памяти с открытым исходным кодом. Вместо документов используются пары "ключ-значение" для хранения. Redis известен как гибкость, производительность и широкая поддержка языка. Он ’ достаточно гибок для использования в качестве кэша или брокера сообщений и может использовать такие структуры данных, как списки, наборы и хэши.

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

Установка MySQL

Установка MySQL в WSL (IE. Ubuntu):

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

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

  1. Запустите сервер MySQL. sudo /etc/init.d/mysql start
  2. Запустите запрос сценария безопасности: sudo mysql_secure_installation
  3. В первом запросе будет предложено ’ настроить подключаемый модуль проверки пароля, который можно использовать для проверки надежности пароля MySQL. Затем вы установите пароль для привилегированного пользователя MySQL, решите, следует ли удалять анонимных пользователей, решите, следует ли разрешить вход привилегированного пользователя как локально, так и удаленно, решить, следует ли удалить тестовую базу данных, и, наконец, решить, нужно ли повторно загружать таблицы прав.

Чтобы открыть запрос MySQL, введите: sudo mysql

Чтобы узнать, какие базы данных доступны, в командной строке MySQL введите: SHOW DATABASES;

Чтобы создать новую базу данных, введите: CREATE DATABASE database_name;

Чтобы удалить базу данных, введите: DROP DATABASE database_name;

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

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

Установка PostgreSQL

Установка PostgreSQL в WSL (IE. 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 -c "\du" или просто \du, если оболочка psql открыта. Эта команда будет отображать столбцы: имя пользователя учетной записи, список атрибутов ролей и член групп ролей. Чтобы вернуться в командную строку, введите: q.

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

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

Установка MongoDB

Чтобы установить MongoDB (версия 5,0) на WSL (Ubuntu 20,04), сделайте следующее:

  1. Откройте терминал WSL (т. е. Ubuntu) и перейдите к домашнему каталогу: cd ~
  2. Обновите пакеты Ubuntu: sudo apt update
  3. Импортируйте открытый ключ, используемый система управления пакетами MongoDB: wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
  4. Создание файла списка для MongoDB: echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  5. Перезагрузить базу данных локального пакета: sudo apt-get update
  6. Установить пакеты MongoDB: sudo apt-get install -y mongodb-org
  7. Подтвердите установку и получите номер версии: mongod --version
  8. Создайте каталог для хранения данных: mkdir -p ~/data/db
  9. Запустите экземпляр Mongo: sudo mongod --dbpath ~/data/db
  10. Убедитесь, что экземпляр MongoDB работает с: ps -e | grep 'mongod'
  11. Чтобы выйти из оболочки MongoDB, используйте сочетания клавиш: Ctrl + C.

Совет

Установка MongoDB может потребовать немного других действий в зависимости от дистрибутива Linux, используемого для установки. Ознакомьтесь с учебниками по установке MongoDB. Также обратите внимание, что установка MongoDB может отличаться в зависимости от версии #, которую вы надежде установить. Используйте раскрывающийся список версия в левом верхнем углу документации по MongoDB, чтобы выбрать версию, которая соответствует вашей цели.

Различия в системе инициализации MongoDB

В приведенном выше примере мы выполнили MongoDB напрямую. Другие руководства могут начать MongoDB с помощью встроенной системы инициализации операционной системы. Вы можете увидеть команду sudo systemctl status mongodb, используемую в учебниках или статьях. В настоящее время WSL не поддерживает systemd (система управления службами в Linux).

Вы не должны заметить разницы, но если учебник рекомендует использовать sudo systemctl, используйте: sudo /etc/init.d/. Например, sudo systemctl status dockerдля WSL будет sudo /etc/init.d/docker status... или вы также можете использовать sudo service docker status.

Добавьте скрипт init, чтобы запустить MongoDB как службу.

Инструкции по установке выше устанавливают версию MongoDB, которая не включает в себя сценарий, автоматически включенный в /etc/init.d/ . Если вы хотите использовать команды службы, можно скачать скрипт init. d для MongoDB из этого источника, поместить его вручную в файл по указанному пути: и затем запустить Mongo как службу с помощью sudo service mongodb start .

  1. Скачайте скрипт init. d для MongoDB: curl https://raw.githubusercontent.com/mongodb/mongo/master/debian/init.d | sudo tee /etc/init.d/mongodb >/dev/null
  2. Назначьте скрипту исполняемые разрешения: sudo chmod +x /etc/init.d/mongodb
  3. Теперь вы можете использовать команды службы MongoDB:
    • sudo service mongodb status позволяет проверить состояние базы данных. Если база данных не запущена, отобразится ответ [Fail].
    • sudo service mongodb start для начала работы с базой данных. Вы должны увидеть ответ [ОК].
    • sudo service mongodb stop позволяет завершить работу с базой данных.
  4. Убедитесь, что вы подключены к серверу базы данных с помощью команды диагностики: mongo --eval 'db.runCommand({ connectionStatus: 1 })' будет выведена Текущая версия базы данных, адрес и порт сервера, а также выходные данные команды Status. Значение 1 в поле "ОК" в ответе указывает на то, что сервер работает.

Примечание

MongoDB имеет несколько параметров по умолчанию, включая хранение данных в /data/db и выполнение на порте 27017. Кроме того, mongod является управляющей программой (хост-процессом для базы данных), а mongo — оболочкой командной строки, которая подключается к конкретному экземпляру mongod.

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

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

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

установка SQL Server в WSL (ie. Ubuntu), следуйте указаниям в этом кратком руководстве: установка SQL Server и создание базы данных на Ubuntu.

для работы с Microsoft SQL Server базами данных в VS Code используйте расширение MSSQL.

Установка SQLite

Установка SQLite в WSL (IE. 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?

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

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

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

Установка Redis

Установка Redis в WSL (IE. 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 это должно вернуть ответ "теннис".

Чтобы прерывать работу сервера 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 — выберите (Да) при запросе сохранения и Enter (имя файла останется .profile).

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

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

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

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

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