Начало работы с базами данных на подсистема Windows для Linux
Это пошаговое руководство поможет вам приступить к подключению проекта в WSL к базе данных. Начало работы с MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server или SQLite.
Необходимые компоненты
- Под управлением Windows 11 или Windows 10 обновлено до версии 2004, сборка 19041 или более поздняя.
- Установите дистрибутив Linux с помощью WSL и создайте имя пользователя и пароль Linux.
Различия между системами баз данных
Некоторые популярные варианты для системы базы данных:
- MySQL (SQL)
- PostgreSQL (SQL)
- Microsoft SQL Server (SQL)
- SQLite (SQL)
- MongoDB (NoSQL)
- Redis (NoSQL)
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:
- Откройте командную строку Ubuntu и обновите доступные пакеты:
sudo apt update
- После обновления пакетов установите MySQL с помощью следующих компонентов:
sudo apt install mysql-server
- Подтвердите установку и получите номер версии:
mysql --version
- Запустите MySQL Server или состояние проверка:
systemctl status mysql
- Чтобы открыть запрос MySQL, введите:
sudo mysql
- Чтобы просмотреть доступные базы данных, в командной строке MySQL введите:
SHOW DATABASES;
- Чтобы создать новую базу данных, введите:
CREATE DATABASE database_name;
- Чтобы удалить базу данных, введите:
DROP DATABASE database_name;
Дополнительные сведения о работе с базами данных MySQL см. в документации по MySQL.
Чтобы работать с базами данных MySQL в VS Code, попробуйте расширение MySQL.
Кроме того, может потребоваться запустить включенный скрипт безопасности. Это изменяет некоторые из менее безопасных параметров по умолчанию для таких элементов, как удаленные имена для входа в корне и примеры пользователей. Этот скрипт также включает шаги по изменению пароля для корневого пользователя MySQL. Чтобы запустить скрипт безопасности, выполните следующие действия:
- Запустите сервер MySQL:
sudo service mysql start
- Запустите запросы скрипта безопасности:
sudo mysql_secure_installation
- В первом запросе будет предложено настроить компонент VALIDATE PASSWORD, который можно использовать для проверки надежности пароля MySQL. Если вы хотите задать простой пароль, этот компонент не следует задавать.
- Затем вы настроите или измените пароль для корневого пользователя MySQL, решите, следует ли удалять анонимных пользователей, разрешать корневому пользователю входить как локально, так и удаленно, решать, следует ли удалить тестовую базу данных, а затем решить, следует ли немедленно перезагрузить таблицы привилегий.
Установка PostgreSQL
Установка PostgreSQL в WSL (т. е. Ubuntu):
- Откройте терминал WSL (т. е. Ubuntu).
- Обновите пакеты Ubuntu:
sudo apt update
- После обновления пакетов установите PostgreSQL (и пакет -contrib с некоторыми полезными служебными программами) с помощью команды
sudo apt install postgresql postgresql-contrib
. - Подтвердите установку и получите номер версии:
psql --version
Есть 3 команды, о которых необходимо знать после установки PostgreSQL:
sudo service postgresql status
позволяет проверить состояние базы данных.sudo service postgresql start
позволяет запустить базу данных.sudo service postgresql stop
позволяет завершить работу с базой данных.
Администратору по умолчанию postgres
требуется назначать пароль для подключения к базе данных. Чтобы задать пароль, сделайте следующее:
- Введите команду:
sudo passwd postgres
. - Появится запрос на ввод нового пароля.
- Закройте и снова откройте терминал.
Чтобы запустить PostgreSQL с помощью оболочки psql , выполните следующую команду:
- Запустите службу postgres:
sudo service postgresql start
- Подключитесь к службе 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:
- Общие сведения об использовании MongoDB
- Создание пользователей
- CRUD: создание, чтение, обновление, удаление
- Справочная документация
Установка Microsoft SQL Server
Чтобы установить SQL Server в дистрибутиве Linux, запущенном WSL, SQL Server на Linux. Чтобы работать с базами данных Microsoft SQL Server в VS Code, попробуйте расширение MSSQL.
Установка SQLite
Установка SQLite в WSL (т. е. Ubuntu):
- Откройте терминал WSL (т. е. Ubuntu).
- Обновите пакеты Ubuntu:
sudo apt update
- После обновления пакетов установите SQLite3 с помощью следующих компонентов:
sudo apt install sqlite3
- Подтвердите установку и получите номер версии:
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):
- Откройте терминал WSL (т. е. Ubuntu).
- Обновите пакеты Ubuntu:
sudo apt update
- После обновления пакетов установите Redis со следующими параметрами:
sudo apt install redis-server
- Подтвердите установку и получите номер версии:
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, чтобы сделать эти команды более быстрыми в использовании и легкими в запоминании.
Настройка собственного пользовательского псевдонима или ярлыка для выполнения этих команд:
Откройте терминал WSL и введите
cd ~
, чтобы убедиться, что вы находитесь в корневом каталоге.Откройте файл
.profile
, управляющий настройками терминала, в текстовом редакторе терминала Nano:sudo nano .profile
.В нижней части файла (не меняйте настройки
# 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 уже использует!После добавления новых псевдонимов выйдите из текстового редактора Nano, используя Ctrl+X — выберите
Y
(Да) при запросе сохранения и Enter (имя файла останется.profile
).Закройте и снова откройте терминал WSL, а затем попробуйте использовать свои новые команды ввода псевдонима.
Устранение неполадок
Ошибка: недопустимый аргумент fdatasync для синхронизации каталогов
Убедитесь, что дистрибутив Linux запущен в режиме WSL 2. Сведения о переходе с WSL 1 на WSL 2 см. в разделе "Настройка версии распространения" на WSL 1 или WSL 2.
Дополнительные ресурсы
Windows Subsystem for Linux