使用 WSL 添加或连接数据库 您所在的位置:网站首页 rds数据库连不上 使用 WSL 添加或连接数据库

使用 WSL 添加或连接数据库

2023-06-29 12:06| 来源: 网络整理| 查看: 265

开始使用适用于 Linux 的 Windows 子系统上的数据库 项目 03/21/2023

本分步指南将帮助你开始将 WSL 中的项目连接到数据库。 开始使用 MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server 或 SQLite。

先决条件 运行Windows 10,更新为版本 2004、内部版本 19041 或更高版本。 安装 WSL 并为 Linux 发行版创建用户名和密码。 在 WSL 2 模式下运行的 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 包括 Windows 上的 SQL Server、Linux 上的 SQL Server 和 Azure 上的 SQL。 这些也是建立在服务器上的关系数据库管理系统,其主要功能是根据软件应用程序的要求存储和检索数据。

SQLite 是一种开源自包含、基于文件的“无服务器”数据库,以其可移植性、可靠性和即使在低内存环境中也能有良好性能而著称。

MongoDB 是一种开源 NoSQL 文档数据库,旨在处理 JSON 和存储无架构数据。 它可水平缩放的,这意味着多台较小的计算机将为你执行工作。 它适用于实现灵活性和处理非结构化数据,以及缓存实时分析。

Redis 是一种开源 NoSQL 内存数据结构存储。 它使用键值对来存储而不是文档。 Redis 以其灵活性、性能和广泛的语言支持而闻名。 它足够灵活,可以用作缓存或消息代理,并且可以使用列表、集合和哈希等数据结构。

选择的数据库类型应取决于将使用该数据库的应用程序的类型。 我们建议你查看结构化和非结构化数据库的优点和缺点,并根据用例进行选择。

安装 MySQL

在 WSL (ie 上安装 MySQL。Ubuntu) :

打开 WSL 终端 (即。Ubuntu) 。 更新 Ubuntu 包:sudo apt update 更新该包后,使用以下命令安装 MySQL:sudo apt install mysql-server 确认安装并获取版本号:mysql --version

可能还想运行包含的安全脚本。 这会更改一些不太安全的默认选项,例如远程根登录名和示例用户。 运行安全脚本:

启动 MySQL 服务器:sudo /etc/init.d/mysql start 启动安全脚本提示符:sudo mysql_secure_installation 第一个提示符会询问是否要设置验证密码插件,该插件可用于测试 MySQL 密码的强度。 然后将为 MySQL 根用户设置密码,决定是否删除匿名用户,决定是否允许根用户本地和远程登录,决定是否删除测试数据库,最后决定是否立即重新加载特权表。

若要打开 MySQL 提示符,请输入:sudo mysql

若要查看可用的数据库,请在 MySQL 提示符中输入:SHOW DATABASES;

若要创建新数据库,请输入:CREATE DATABASE database_name;

若要删除数据库,请输入: DROP DATABASE database_name;

有关使用 MySQL 数据库的更多信息,请参阅 MySQL 文档。

若要在 VS Code 中使用 MySQL 数据库,请尝试使用 MySQL 扩展。

安装 PostgreSQL

在 WSL (ie 上安装 PostgreSQL。Ubuntu) :

打开 WSL 终端 (即。Ubuntu) 。 更新 Ubuntu 包:sudo apt update 更新该包后,使用以下命令安装 PostgreSQL(和 -contrib 包,其中包含一些有用的实用程序):sudo apt install postgresql postgresql-contrib 确认安装并获取版本号:psql --version

安装 PostgreSQL 后,需要知道以下 3 个命令:

sudo service postgresql status 用于检查数据库的状态。 sudo service postgresql start 用于开始运行数据库。 sudo service postgresql stop 用于停止运行数据库。

默认管理员用户 postgres 需要分配的密码才能连接到数据库。 要设置密码,请执行以下操作:

输入命令:sudo passwd postgres 系统将提示你输入新密码。 关闭并重新打开终端。

通过 psql shell 运行 PostgreSQL:

启动 postgres 服务:sudo service postgresql start 连接到 postgres 服务,并打开 psql shell:sudo -u postgres psql

成功输入 psql shell 后,将显示更改为如下所示的命令行:postgres=#

注意

或者,也可以通过使用 su - postgres 切换为 postgres 用户,然后输入命令 psql 来打开 psql shell。

若要退出 postgres=# enter,请使用 \q 或使用快捷键:Ctrl+D

要查看在 PostgreSQL 安装上创建的用户帐户,请在 WSL 终端上使用 psql -c "\du";如果已打开 psql shell,则仅使用 \du。 此命令将显示列:帐户用户名、角色属性列表和角色组成员。 要返回命令行,请输入:q。

有关使用 PostgreSQL 数据库的更多信息,请参阅 PostgreSQL 文档。

若要在 VS Code 中使用 PostgreSQL 数据库,请尝试使用 PostgreSQL 扩展。

安装 MongoDB

在 WSL (Ubuntu 20.04) 上安装 MongoDB(版本 5.0):

打开 WSL 终端 (即。Ubuntu) 并转到主目录: cd ~ 更新 Ubuntu 包:sudo apt update 导入 MongoDB 包管理系统使用的公钥:wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - 为 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 重新加载本地包数据库:sudo apt-get update 安装 MongoDB 包:sudo apt-get install -y mongodb-org 确认安装并获取版本号:mongod --version 创建用于存储数据的目录:mkdir -p ~/data/db 运行 Mongo 实例:sudo mongod --dbpath ~/data/db 检查 MongoDB 实例是否正在运行:ps -e | grep 'mongod' 若要退出 MongoDB Shell,请使用快捷键:Ctrl + C

提示

根据用于安装的 Linux 发行版,安装 MongoDB 需要的步骤可能略有不同。 请参阅 MongoDB 安装教程。 另请注意,MongoDB 安装可能因你要安装的版本而异。 使用 MongoDB 文档左上角的版本下拉列表选择符合目标的版本。

MongoDB init 系统差异

在上面的例子中,我们直接运行了 MongoDB。 其他教程可能会使用操作系统的内置 init 系统来启动 MongoDB。 你可能会看到在教程或文章中使用了命令 sudo systemctl status mongodb。 目前 WSL 不支持 systemd(Linux 中的服务管理系统)。

你应该不会注意到有什么区别,但是如果教程建议使用 sudo systemctl,请改用 sudo /etc/init.d/。 例如,对于 WSL,sudo systemctl status docker 应改用 sudo /etc/init.d/docker status,或者也可以使用 sudo service docker status。

添加 init 脚本以启动 MongoDB 作为服务

上述安装说明安装的 MongoDB 版本不会自动在 /etc/init.d/ 中包含脚本。 如果想使用服务命令,可以从此源下载 mongodb 的 init.d 脚本,将其作为文件手动放置在以下路径:/etc/init.d/mongodb,然后可以使用 sudo service mongodb start 启动 Mongo 作为服务。

下载 MongoDB 的 init.d 脚本:curl https://raw.githubusercontent.com/mongodb/mongo/master/debian/init.d | sudo tee /etc/init.d/mongodb >/dev/null 分配该脚本可执行权限:sudo chmod +x /etc/init.d/mongodb 现在可以使用 MongoDB 服务命令: sudo service mongodb status 用于检查数据库的状态。 如果没有正在运行的数据库,应该会看到 [Fail] 响应。 sudo service mongodb start 用于开始运行数据库。 应会看到 [Ok] 响应。 sudo service mongodb stop 用于停止运行数据库。 使用以下诊断命令验证你是否已连接到数据库服务器:mongo --eval 'db.runCommand({ connectionStatus: 1 })'。这将输出当前数据库版本、服务器地址和端口以及状态命令的输出。 响应中“ok”字段的值 1 表示服务器正在运行。

注意

MongoDB 有几个默认参数,包括在 /data/db 中存储数据和在端口 27017 上运行。 此外,mongod 是守护程序(数据库的主机进程),mongo 是连接到特定实例 mongod 的命令行 shell。

VS Code 支持通过 Azure CosmosDB 扩展来处理 MongoDB 数据库,你可以在 VS Code 中创建、管理和查询 MongoDB 数据库。 有关详细信息,请访问 VS Code 文档:使用 MongoDB。

有关详细信息,请参阅 MongoDB 文档:

使用 MongoDB 简介 创建用户 连接到远程主机上的 MongoDB 实例 CRUD:创建、读取、更新、删除 参考文档 安装 Microsoft SQL Server

在 WSL (ie 上安装SQL Server。Ubuntu) ,请遵循本快速入门:在 Ubuntu 上安装SQL Server并创建数据库。

注意

尽管可以在 WSL 上安装和配置SQL Server,但不支持该配置。 此外,Linux 上的 SQL Server需要系统化,WSL 中不包括该系统。

若要在 VS Code 中使用 Microsoft SQL Server 数据库,请尝试使用 MSSQL 扩展。

安装 SQLite

在 WSL (ie 上安装 SQLite。Ubuntu) :

打开 WSL 终端 (即。Ubuntu) 。 更新 Ubuntu 包:sudo apt update 更新该包后,使用以下命令安装 SQLite3:sudo apt install sqlite3 确认安装并获取版本号:sqlite3 --version

若要创建名为“example.db”的测试数据库,请输入:sqlite3 example.db

若要查看 SQLite 数据库列表,请输入:.databases

若要查看数据库的状态,请输入:.dbinfo ?DB?

创建后,数据库将为空。 You can create a new table for your database with CREATE TABLE empty (kol INTEGER);.

现在输入 .dbinfo ?DB? 将显示已创建的数据库。

若要退出 SQLite 提示符,请输入:.exit

有关使用 SQLite 数据库的详细信息,请参阅 SQLite 文档。

若要在 VS Code 中使用 SQLite 数据库,请尝试使用 SQLite 扩展。

安装 Redis

在 WSL (ie 上安装 Redis。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 文档。

若要在 VS Code 中使用 Redis 数据库,请尝试使用 Redis 扩展。

查看正在运行的服务并设置配置文件别名

若要查看当前在 WSL 发行版上运行的服务,请输入:service --status-all

键入 sudo service mongodb start 或 sudo service postgres start 和 sudo -u postgrest psql 可能会很繁琐。 但是,你可以考虑在 WSL 上的 .profile 文件中设置别名,使这些命令更便于使用、易于记忆。

要设置自己的自定义别名或快捷方式来执行这些命令,请执行以下操作:

打开 WSL 终端并输入 cd ~以确保位于根目录中。

使用终端文本编辑器 Nano 打开 .profile 文件,该文件可控制终端的设置: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 shell。 start-pg 和 run-pg 可更改为所需的任何名称,但是请注意不要覆盖 postgres 已经使用的命令!

添加新别名后,请使用 Ctrl + X 退出 Nano 文本编辑器 - 系统提示“保存并输入”时选择 Y(是)(将文件名保留为 .profile)。

关闭并重新打开 WSL 终端,然后尝试使用新的别名命令。

故障排除 错误:目录同步 fdatasync 参数无效

确保在 WSL 2 模式下运行 Linux 发行版。 如需从 WSL 1 切换到 WSL 2 的帮助,请参阅将发行版本设置为 WSL 1 或 WSL 2。

其他资源 在 Windows 上设置开发环境


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有