Windows Subsystem for Linux でデータベースを使ってみるGet started with databases on Windows Subsystem for Linux

このステップバイステップガイドでは、WSL 内のプロジェクトをデータベースに接続する方法について説明します。This step-by-step guide will help you get started connecting your project in WSL to a database. MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server、または SQLite の使用を開始します。Get started with MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server, or SQLite.

[前提条件]Prerequisites

データベースシステム間の相違点Differences between database systems

データベースシステムの最も 一般的な選択肢 は次のとおりです。The most popular choices for a database system include:

MySQL は、オープンソースの SQL リレーショナルデータベースで、データ型が相互に関連している可能性のある1つ以上のテーブルにデータを整理します。MySQL is an open-source SQL relational database, organizing data into one or more tables in which data types may be related to each other. この機能は垂直方向にスケーラブルであるため、1つの究極のコンピューターで作業が行われます。It is vertically scalable, which means one ultimate machine will do the work for you. 現在、4つのデータベースシステムで最も広く使用されています。It is currently the most widely used of the four database systems.

PostgreSQL (Postgres とも呼ばれます) もオープンソースの SQL リレーショナルデータベースであり、拡張性と標準への準拠を重視しています。PostgreSQL (sometimes referred to as Postgres) is also an open-source SQL relational database with an emphasis on extensibility and standards compliance. 現在は JSON も処理できますが、一般的には、構造化データ、垂直方向の規模拡張、および、e コマースや金融取引などの ACID 準拠のニーズに適しています。It can handle JSON now too, but it is generally better for structured data, vertical scaling, and ACID-compliant needs like eCommerce and financial transactions.

Microsoft SQL Server には、Azure 上の Windows、SQL SERVER ON LINUX、SQL の SQL Server が含まれています。Microsoft SQL Server includes SQL Server on Windows, SQL Server on Linux, and SQL on Azure. これらは、ソフトウェアアプリケーションによって要求されたデータの格納と取得の主な機能を備えたサーバーに設定されたリレーショナルデータベース管理システムでもあります。These are also relational database management systems set up on servers with primary function of storing and retrieving data as requested by software applications.

SQLite は、オープンソースの自己完結型の "サーバーレス" データベースです。低メモリ環境でも、移植性、信頼性、優れたパフォーマンスが確保されています。SQLite is an open-source self-contained, file-based, “serverless” database, known for its portability, reliability, and good performance even in low-memory environments.

MongoDB は、JSON を使用してスキーマフリーデータを格納するように設計されたオープンソースの NoSQL ドキュメントデータベースです。MongoDB is an open-source NoSQL document database designed to work with JSON and store schema-free data. 水平方向にスケーラブルなので、複数の小さなマシンで作業が行われます。It is horizontally scalable, which means multiple smaller machines will do the work for you. 柔軟性と非構造化データに適しており、リアルタイム分析をキャッシュしています。It's good for flexibility and unstructured data, and caching real-time analytics.

Redis は、オープンソースのメモリ内の NoSQL データ構造ストアです。Redis is is an open-source NoSQL in-memory data structure store. ドキュメントではなく、ストレージにキーと値のペアを使用します。It uses key-value pairs for storage instead of documents. Redis は、柔軟性、パフォーマンス、および幅広い言語のサポートのために認識されています。Redis is known for its flexibility, performance, and wide language support. キャッシュまたはメッセージブローカーとして使用するのに十分な柔軟性があり、リスト、セット、ハッシュなどのデータ構造を使用できます。It’s flexible enough to be used as a cache or message broker and can use data structures like lists, sets, and hashes.

選択するデータベースの種類は、データベースを使用するアプリケーションの種類に応じて決める必要があります。The sort of database you choose should depend on the type of application you will be using the database with. 構造化データベースと非構造化データベースの長所と短所を検討し、ユースケースに基づいて選択することをお勧めします。We recommend that you look up the advantages and disadvantages of structured and unstructured databases and choose based on your use case.

MySQL をインストールするInstall MySQL

WSL に MySQL をインストールするには (Ubuntu 18.04):To install MySQL on WSL (Ubuntu 18.04):

  1. WSL ターミナルを開きます (Ubuntu 18.04)。Open your WSL terminal (ie. Ubuntu 18.04).
  2. sudo apt update を実行して Ubuntu パッケージを更新します。Update your Ubuntu packages: sudo apt update
  3. パッケージが更新されたら、次のものを使用して MySQL をインストールします。 sudo apt install mysql-serverOnce the packages have updated, install MySQL with: sudo apt install mysql-server
  4. mysql --version を実行してインストールを確認し、バージョン番号を取得します。Confirm installation and get the version number: mysql --version

また、含まれているセキュリティスクリプトを実行することもできます。You may also want to run the included security script. これにより、リモートルートログインやサンプルユーザーなどの、安全性の低い既定のオプションの一部が変更されます。This changes some of the less secure default options for things like remote root logins and sample users. セキュリティスクリプトを実行するには:To run the security script:

  1. MySQL サーバーを起動します。 sudo /etc/init.d/mysql startStart a MySQL server: sudo /etc/init.d/mysql start
  2. セキュリティスクリプトのプロンプトを開始します。 sudo mysql_secure_installationStart the security script prompts: sudo mysql_secure_installation
  3. 最初のプロンプトで、パスワードの検証プラグインを設定するかどうかを確認するメッセージが表示されます。これを使用すると、MySQL パスワードの強度をテストできます。The first prompt will ask whether you’d like to set up the Validate Password Plugin, which can be used to test the strength of your MySQL password. 次に、MySQL ルートユーザーのパスワードを設定し、匿名ユーザーを削除するかどうかを決定し、ルートユーザーがローカルとリモートの両方でログインできるようにするかどうかを決定し、テストデータベースを削除するかどうかを決定し、最後に特権テーブルを直ちに再読み込みするかどうかを決定します。You will then set a password for the MySQL root user, decide whether or not to remove anonymous users, decide whether to allow the root user to login both locally and remotely, decide whether to remove the test database, and, lastly, decide whether to reload the privilege tables immediately.

MySQL プロンプトを開くには、次のように入力します。 sudo mysqlTo open the MySQL prompt, enter: sudo mysql

使用できるデータベースを確認するには、MySQL プロンプトで次のように入力します。 SHOW DATABASES;To see what databases you have available, in the MySQL prompt, enter: SHOW DATABASES;

新しいデータベースを作成するには、次のように入力します。 CREATE DATABASE database_name;To create a new database, enter: CREATE DATABASE database_name;

データベースを削除するには、次のように入力します。 DROP DATABASE database_name;To delete a database, enter: DROP DATABASE database_name;

MySQL データベースの操作の詳細については、 mysql のドキュメントを参照してください。For more about working with MySQL databases, see the MySQL docs.

VS Code で MySQL データベースを操作するには、 mysql 拡張機能を試してください。To work with with MySQL databases in VS Code, try the MySQL extension.

PostgreSQL のインストールInstall PostgreSQL

WSL に PostgreSQL をインストールするには (Ubuntu 18.04):To install PostgreSQL on WSL (Ubuntu 18.04):

  1. WSL ターミナルを開きます (Ubuntu 18.04)。Open your WSL terminal (ie. Ubuntu 18.04).
  2. sudo apt update を実行して Ubuntu パッケージを更新します。Update your Ubuntu packages: sudo apt update
  3. パッケージが更新されたら、sudo apt install postgresql postgresql-contrib を実行して PostgreSQL (およびいくつかの便利なユーティリティが含まれている -contrib パッケージ) をインストールします。Once the packages have updated, install PostgreSQL (and the -contrib package which has some helpful utilities) with: sudo apt install postgresql postgresql-contrib
  4. psql --version を実行してインストールを確認し、バージョン番号を取得します。Confirm installation and get the version number: psql --version

PostgreSQL をインストールした後は、次の 3 つのコマンドについて覚えておく必要があります。There are 3 commands you need to know once PostgreSQL is installed:

  • データベースの状態を確認する sudo service postgresql statussudo service postgresql status for checking the status of your database.
  • データベースの実行を開始する sudo service postgresql startsudo service postgresql start to start running your database.
  • データベースの実行を停止する sudo service postgresql stopsudo service postgresql stop to stop running your database.

既定の管理者ユーザー postgres には、データベースに接続するパスワードを割り当てる必要があります。The default admin user, postgres, needs a password assigned in order to connect to a database. パスワードを設定するには:To set a password:

  1. コマンド sudo passwd postgres を入力します。Enter the command: sudo passwd postgres
  2. 新しいパスワードを入力するように求めるメッセージが表示されます。You will get a prompt to enter your new password.
  3. ターミナルを閉じ、開き直します。Close and reopen your terminal.

Psqlシェルで PostgreSQL を実行するには、次のようにします。To run PostgreSQL with psql shell:

  1. sudo service postgresql start を実行して postgres サービスを開始します。Start your postgres service: sudo service postgresql start
  2. sudo -u postgres psql を実行して postgres サービスに接続し、psql シェルを開きます。Connect to the postgres service and open the psql shell: sudo -u postgres psql

正常に psql シェルに入ると、コマンドラインが postgres=# のように変わります。Once you have successfully entered the psql shell, you will see your command line change to look like this: postgres=#

注意

または、su - postgres を使用して postgres ユーザーに切り替え、コマンド psql を入力することで psql シェルを開くことができます。Alternatively, you can open the psql shell by switching to the postgres user with: su - postgres and then entering the command: psql.

Postgres = # enter を終了するに \q は、またはショートカットキーを使用します: Ctrl + DTo exit postgres=# enter: \q or use the shortcut key: Ctrl+D

PostgreSQL のインストールで作成されたユーザー アカウントを確認するには、WSL ターミナルから psql -c "\du" を使用します。または、psql シェルが開いている場合は、\du を実行します。To see what user accounts have been created on your PostgreSQL installation, use from your WSL terminal: psql -c "\du" ...or just \du if you have the psql shell open. このコマンドでは、アカウントのユーザー名、ロール属性の一覧、およびロールグループのメンバーの列が表示されます。This command will display columns: Account User Name, List of Roles Attributes, and Member of role group(s). q を入力すると、終了してコマンド ラインに戻ります。To exit back to the command line, enter: q.

PostgreSQL データベースの操作の詳細については、 postgresql のドキュメントを参照してください。For more about working with PostgreSQL databases, see the PostgreSQL docs.

VS Code で PostgreSQL データベースを使用するには、 postgresql の拡張機能を試してください。To work with with PostgreSQL databases in VS Code, try the PostgreSQL extension.

MongoDB をインストールするInstall MongoDB

WSL に MongoDB をインストールするには (Ubuntu 18.04):To install MongoDB on WSL (Ubuntu 18.04):

  1. WSL ターミナルを開きます (Ubuntu 18.04)。Open your WSL terminal (ie. Ubuntu 18.04).
  2. sudo apt update を実行して Ubuntu パッケージを更新します。Update your Ubuntu packages: sudo apt update
  3. パッケージが更新されたら、sudo apt-get install mongodb を実行して MongoDB をインストールします。Once the packages have updated, install MongoDB with: sudo apt-get install mongodb
  4. mongod --version を実行してインストールを確認し、バージョン番号を取得します。Confirm installation and get the version number: mongod --version

MongoDB をインストールした後は、次の 3 つのコマンドについて覚えておく必要があります。There are 3 commands you need to know once MongoDB is installed:

  • データベースの状態を確認する sudo service mongodb statussudo service mongodb status for checking the status of your database.
  • データベースの実行を開始する sudo service mongodb startsudo service mongodb start to start running your database.
  • データベースの実行を停止する sudo service mongodb stopsudo service mongodb stop to stop running your database.

注意

チュートリアルや記事で、sudo systemctl status mongodb コマンドが使用されている場合があります。You might see the command sudo systemctl status mongodb used in tutorials or articles. 軽量状態を維持するために、WSL には systemd (Linux のサービス管理システム) は含まれていません。In order to remain lightweight, WSL does not include systemd (a service management system in Linux). 代わりに、SysVinit を使用してマシン上のサービスを開始します。Instead, it uses SysVinit to start services on your machine. 違いはほとんどありませんが、チュートリアルで sudo systemctl が使用されている場合は、代わりに sudo /etc/init.d/ を使用します。You shouldn't notice a difference, but if a tutorial recommends using sudo systemctl, instead use: sudo /etc/init.d/. たとえば、sudo /etc/inid.d/mongodb status は WSL では sudo systemctl status mongodb になります。または、sudo service mongodb status を使用することもできます。For example, sudo systemctl status mongodb, for WSL would be sudo /etc/inid.d/mongodb status ...or you can also use sudo service mongodb status.

ローカルサーバーで Mongo データベースを実行するには、次のようにします。To run your Mongo database in a local server:

  1. データベースの状態を確認します。データベースを既に起動している場合を sudo service mongodb status 除き、[Fail] (失敗) の応答が表示されます。Check the status of your database: sudo service mongodb status You should see a [Fail] response, unless you've already started your database.

  2. データベースを起動します。 sudo service mongodb start [OK] の応答が表示されます。Start your database: sudo service mongodb start You should now see an [OK] response.

  3. データベースサーバーに接続し、診断コマンドを実行して確認します。これにより、 mongo --eval 'db.runCommand({ connectionStatus: 1 })' 現在のデータベースのバージョン、サーバーのアドレスとポート、および status コマンドの出力が出力されます。Verify by connecting to the database server and running a diagnostic command: mongo --eval 'db.runCommand({ connectionStatus: 1 })' This will output the current database version, the server address and port, and the output of the status command. 応答の "ok" フィールドに 1 の値は、サーバーが動作していることを示しています。A value of 1 for the "ok" field in the response indicates that the server is working.

  4. MongoDB のサービスの実行を停止するには、sudo service mongodb stop と入力します。To stop your MongoDB service from running, enter: sudo service mongodb stop

注意

MongoDB には、データを /data/db に格納する、ポート 27017 で実行するなど、いくつかの既定のパラメーターがあります。MongoDB has several default parameters, including storing data in /data/db and running on port 27017. また、mongod はデーモン (データベースのホスト プロセス) であり、mongomongod の特定のインスタンスに接続するコマンドライン シェルです。Also, mongod is the daemon (host process for the database) and mongo is the command-line shell that connects to a specific instance of mongod.

VS Code は、 Azure CosmosDB 拡張機能を使用した mongodb データベースの操作をサポートしており、VS Code 内から mongodb データベースを作成、管理、クエリできます。VS Code supports working with MongoDB databases via the Azure CosmosDB extension, you can create, manage and query MongoDB databases from within VS Code. 詳細については、「VS Code ドキュメント: MongoDB の使用」を参照してください。To learn more, visit the VS Code docs: Working with MongoDB.

詳細については、MongoDB のドキュメントを参照してください。Learn more in the MongoDB docs:

Microsoft SQL Server のインストール:Install Microsoft SQL Server

WSL (Ubuntu 18.04) に SQL Server をインストールするには、次のクイックスタートに従ってください。 ubuntu で SQL Server をインストールし、データベースを作成します。To install SQL Server on WSL (Ubuntu 18.04), follow this quickstart: Install SQL Server and create a database on Ubuntu.

VS Code で Microsoft SQL Server データベースを操作するには、 MSSQL 拡張子を試してください。To work with Microsoft SQL Server databases in VS Code, try the MSSQL extension.

SQLite をインストールするInstall SQLite

WSL に SQLite をインストールするには (Ubuntu 18.04):To install SQLite on WSL (Ubuntu 18.04):

  1. WSL ターミナルを開きます (Ubuntu 18.04)。Open your WSL terminal (ie. Ubuntu 18.04).
  2. sudo apt update を実行して Ubuntu パッケージを更新します。Update your Ubuntu packages: sudo apt update
  3. パッケージが更新されたら、次のように SQLite3 をインストールします。 sudo apt install sqlite3Once the packages have updated, install SQLite3 with: sudo apt install sqlite3
  4. sqlite3 --version を実行してインストールを確認し、バージョン番号を取得します。Confirm installation and get the version number: sqlite3 --version

"Example. db" という名前のテストデータベースを作成するには、次のように入力します。 sqlite3 example.dbTo create a test database, called "example.db", enter: sqlite3 example.db

SQLite データベースの一覧を表示するには、次のように入力します。 .databasesTo see a list of your SQLite databases, enter: .databases

データベースの状態を確認するには、次のように入力します。 .dbinfo ?DB?To see the status of your database, enter: .dbinfo ?DB?

SQLite プロンプトを終了するには、次のように入力します。 .exitTo exit the SQLite prompt, enter: .exit

SQLite データベースの操作の詳細については、 sqlite のドキュメントを参照してください。For more information about working with a SQLite database, see the SQLite docs.

VS Code で SQLite データベースを使用するには、 sqlite 拡張機能を試してください。To work with SQLite databases in VS Code, try the SQLite extension.

Redis のインストールInstall Redis

WSL に Redis をインストールするには (Ubuntu 18.04):To install Redis on WSL (Ubuntu 18.04):

  1. WSL ターミナルを開きます (Ubuntu 18.04)。Open your WSL terminal (ie. Ubuntu 18.04).
  2. sudo apt update を実行して Ubuntu パッケージを更新します。Update your Ubuntu packages: sudo apt update
  3. パッケージが更新されたら、次のものを使用して Redis をインストールします。 sudo apt install redis-serverOnce the packages have updated, install Redis with: sudo apt install redis-server
  4. redis-server --version を実行してインストールを確認し、バージョン番号を取得します。Confirm installation and get the version number: redis-server --version

Redis サーバーの実行を開始するには、次のようにします。 sudo service redis-server startTo start running your Redis server: sudo service redis-server start

Redis が動作しているかどうかを確認します (redis は、Redis と対話するためのコマンドラインインターフェイスユーティリティです)。これにより、 redis-cli ping "、" という応答が返されます。Check to see if redis is working (redis-cli is the command line interface utility to talk with Redis): redis-cli ping this should return a reply of "PONG".

Redis サーバーの実行を停止するには、次のようにします。 sudo service redis-server stopTo stop running your Redis server: sudo service redis-server stop

Redis データベースの使用方法の詳細については、 redis のドキュメントを参照してください。For more information about working with a Redis database, see the Redis docs.

VS Code で Redis データベースを使用するには、 redis 拡張機能を試してください。To work with Redis databases in VS Code, try the Redis extension.

「実行中のサービス」と「プロファイルの別名の設定」を参照してください。See services running and set up profile aliases

現在 WSL ディストリビューションで実行されているサービスを表示するには、次のように入力します。 service --status-allTo see the services that you currently have running on your WSL distribution, enter: service --status-all

sudo service mongodb startsudo service postgres startsudo -u postgrest psql などの入力は面倒な場合があります。Typing out sudo service mongodb start or sudo service postgres start and sudo -u postgrest psql can get tedious. これらのコマンドをすばやく使えるように、また覚えやすくするために、WSL 上の .profile ファイルでエイリアスを設定することを検討してください。However, you could consider setting up aliases in your .profile file on WSL to make these commands quicker to use and easier to remember.

これらのコマンドを実行するためのカスタム エイリアス (ショートカット) を設定するには、次の手順を実行します。To set up your own custom alias, or shortcut, for executing these commands:

  1. WSL ターミナルを開き、cd ~ と入力してルート ディレクトリに移動します。Open your WSL terminal and enter cd ~ to be sure you're in the root directory.

  2. sudo nano .profile と入力して、ターミナルの設定を制御する .profile ファイルを、ターミナルのテキスト エディター Nano で開きます。Open the .profile file, which controls the settings for your terminal, with the terminal text editor, Nano: sudo nano .profile

  3. ファイルの最後に次の内容を追加します (# set PATH 設定は変更しないでください)。At the bottom of the file (don't change the # set PATH settings), add the following:

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

    以後、start-pg と入力して postgresql サービスの実行を開始し、run-pg と入力して psql シェルを開くことができます。This will allow you to enter start-pg to start running the postgresql service and run-pg to open the psql shell. start-pg および run-pg は任意の名前に変更できますが、postgres が既に使用しているコマンドを上書きしないよう注意してください。You can change start-pg and run-pg to whatever names you want, just be careful not to overwrite a command that postgres already uses!

  4. 新しいエイリアスを追加したら、Ctrl + X キーを使用して Nano テキスト エディターを終了し、保存の確認に対して Y (はい) を選択して Enter キーを押します (ファイル名は .profile のままにします)。Once you've added your new aliases, exit the Nano text editor using Ctrl+X -- select Y (Yes) when prompted to save and Enter (leaving the file name as .profile).

  5. WSL ターミナルを閉じて開き直してから、新しいエイリアス コマンドを試してみてください。Close and re-open your WSL terminal, then try your new alias commands.

その他のリソースAdditional resources