wsl linux にインストールした mariadb にwindows側から接続する手順
GitHub Copilot: Windows側からWSL上のLinux MintにインストールされたMariaDBに接続するには、以下の手順を実行してください。
1. WSL上のMariaDBの設定を確認
MariaDBがWSL上で動作していることを確認し、外部接続を許可する設定を行います。
MariaDBの設定ファイルを編集
MariaDBの設定ファイル(通常は/etc/mysql/my.cnf
または/etc/mysql/mariadb.conf.d/50-server.cnf
)を編集します。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
以下の設定を確認・変更してください:
# ...existing code...
bind-address = 0.0.0.0 # 127.0.0.1 を 0.0.0.0 に変更
# ...existing code...
これにより、MariaDBが外部からの接続を受け付けるようになります。
MariaDBを再起動
設定を反映させるためにMariaDBを再起動します。
sudo systemctl restart mariadb
2. Windows側からWSLのIPアドレスを確認
WSLのIPアドレスを確認します。以下のコマンドをWSLのターミナルで実行してください。
ip addr | grep inet
inet
の後に表示されるIPアドレス(例: 172.20.0.2
)をメモします。
3. MariaDBユーザーの権限を設定
MariaDBにログインし、Windows側から接続できるようにユーザーの権限を設定します。
sudo mysql -u root -p
以下のコマンドを実行して、外部接続を許可するユーザーを作成または設定します。
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;
username
: 接続に使用するユーザー名password
: 接続に使用するパスワード
4. Windows側でMariaDBクライアントをインストール
Windows側にMariaDBクライアント(例えば、HeidiSQLやMySQL Workbench)をインストールします。
5. Windows側から接続
MariaDBクライアントを開き、以下の情報を入力して接続します:
- ホスト名: WSLのIPアドレス(例:
172.20.0.2
) - ユーザー名: MariaDBで設定したユーザー名(例:
username
) - パスワード: MariaDBで設定したパスワード(例:
password
) - ポート: 3306(デフォルトのMariaDBポート)
注意点
- WSLのIPアドレスは再起動すると変わる可能性があります。その場合は再度確認してください。
- ファイアウォールやセキュリティソフトが接続をブロックしていないか確認してください。
これでWindows側からWSL上のMariaDBに接続できるはずです。
shimimane: PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html> ip addr | grep inet
ip: The term ‘ip’ is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Suggestion [4,General]: The most similar commands are:
PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html>
GitHub Copilot: PowerShellではWSLのコマンドを直接実行するには、wsl
コマンドを使用する必要があります。以下の手順でWSL内のIPアドレスを確認してください。
1. WSL内でip addrを実行する
PowerShellからWSLのコマンドを実行するには、以下のようにwsl
コマンドを使います。
wsl ip addr | grep inet
これにより、WSL内のネットワークインターフェースのIPアドレスが表示されます。
2. IPアドレスを確認する
出力の中で、inet
の後に表示されるIPアドレスを探してください。例えば:
inet 172.20.0.2/24 ...
この場合、172.20.0.2
がWSLのIPアドレスです。
3. WSLに直接ログインして確認する方法
もしPowerShellからの実行がうまくいかない場合、WSLに直接ログインして確認することもできます。
wsl
WSLにログインした後、以下のコマンドを実行します:
ip addr | grep inet
4. Windows側から接続する準備
取得したIPアドレスを使用して、Windows側のMariaDBクライアントで接続を試みてください。
shimimane: PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html> wsl ip addr | grep inet
grep: The term ‘grep’ is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html>
GitHub Copilot: PowerShellではgrep
コマンドが使用できないため、代わりにPowerShellのフィルタリング機能を使うか、WSL内で直接コマンドを実行してください。
方法1: PowerShellでフィルタリングする
以下のコマンドを使用して、ip addr
の出力をフィルタリングします。
wsl ip addr | Select-String -Pattern "inet"
これにより、inet
を含む行が表示されます。
方法2: WSL内で直接確認する
PowerShellからWSLにログインして、WSL内でコマンドを実行します。
wsl
WSLにログインした後、以下のコマンドを実行します:
ip addr | grep inet
方法3: PowerShellで全出力を確認する
もしフィルタリングが不要であれば、以下のコマンドで全出力を確認できます。
wsl ip addr
出力の中で、inet
の後に表示されるIPアドレスを探してください。
これでWSLのIPアドレスを確認できるはずです。
shimimane: PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html> wsl ip addr | Select-String -Pattern “inet”
<3>WSL (8) ERROR: CreateProcessParseCommon:717: Failed to translate \wsl.localhost\Mint\var\www\html
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
inet 172.25.209.34/20 brd 172.25.223.255 scope global eth0
inet6 fe80::215:5dff:fed7:546b/64 scope link
PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html>
GitHub Copilot: 出力を見ると、WSLのネットワークインターフェースeth0
に割り当てられたIPアドレスが確認できます。
以下の情報が重要です:
- WSLのIPアドレス:
172.25.209.34
このIPアドレスを使用してWindows側からMariaDBに接続できます。
次の手順
- MariaDBの設定確認:
WSL内でMariaDBの設定ファイルを編集し、bind-address
を0.0.0.0
に設定して外部接続を許可していることを確認してください。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
必要に応じてMariaDBを再起動します:
sudo systemctl restart mariadb
- Windows側から接続:
MariaDBクライアント(例: HeidiSQLやMySQL Workbench)を使用して以下の情報を入力します:
- ホスト名:
172.25.209.34
- ユーザー名: MariaDBで設定したユーザー名
- パスワード: MariaDBで設定したパスワード
- ポート:
3306
これで接続できるはずです。もし接続できない場合は、WSLのファイアウォールやMariaDBの設定を再確認してください。
shimimane: windowsgawakara
GitHub Copilot: Windows側からWSL上のMariaDBに接続する手順を以下にまとめます。
1. WSLのIPアドレスを確認
WSL内で以下のコマンドを実行してIPアドレスを確認します。
ip addr | grep inet
出力例:
inet 172.25.209.34/20 brd 172.25.223.255 scope global eth0
この場合、172.25.209.34
がWSLのIPアドレスです。
2. MariaDBの設定を確認
WSL内でMariaDBの設定ファイルを編集し、外部接続を許可します。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
以下の行を確認・変更します:
bind-address = 0.0.0.0
変更後、MariaDBを再起動します:
sudo systemctl restart mariadb
3. MariaDBユーザーの権限を設定
MariaDBにログインし、外部接続を許可するユーザーを作成します。
sudo mysql -u root -p
以下のSQLコマンドを実行します:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;
4. Windows側でMariaDBクライアントを使用
Windows側でMariaDBクライアント(例: HeidiSQLやMySQL Workbench)をインストールし、以下の情報を入力して接続します:
- ホスト名: WSLのIPアドレス(例:
172.25.209.34
) - ユーザー名: MariaDBで設定したユーザー名(例:
username
) - パスワード: MariaDBで設定したパスワード(例:
password
) - ポート: 3306(デフォルトのMariaDBポート)
注意点
- WSLのIPアドレスは再起動すると変わる可能性があります。その場合は再度確認してください。
- ファイアウォールやセキュリティソフトが接続をブロックしていないか確認してください。
これでWindows側からWSL上のMariaDBに接続できるはずです。
shimimane: powershell からmysql 172.25.209.34 を使用するコマンド
GitHub Copilot: PowerShellからWSL上のMariaDB(MySQL)に接続するには、以下の手順を実行します。
1. MySQLクライアントをインストール
まず、Windows側にMySQLクライアントをインストールする必要があります。以下のリンクからインストールしてください:
インストール後、mysql.exe
がコマンドラインで使用可能になります。
2. PowerShellから接続するコマンド
以下のコマンドをPowerShellで実行してMariaDBに接続します:
mysql -h 172.25.209.34 -u username -p
-h 172.25.209.34
: WSLのIPアドレス-u username
: MariaDBで設定したユーザー名-p
: パスワードを入力するプロンプトを表示
コマンドを実行すると、パスワードの入力を求められます。正しいパスワードを入力するとMariaDBに接続できます。
3. 接続例
以下は接続例です:
mysql -h 172.25.209.34 -u root -p
パスワードを入力後、MariaDBのプロンプトに入ります:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 10.5.12-MariaDB-1 Debian build
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
注意点
mysql.exe
がPATHに含まれていない場合は、インストールディレクトリを指定して実行してください。
例:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -h 172.25.209.34 -u username -p
- WSLのIPアドレスが変わる場合があるため、接続前に確認してください。
これでPowerShellからMariaDBに接続できるはずです。