MySQL データベース プログラミング 環境構築

VirtualBox上のUbuntu 22.04にMySQL5.7をインストールして外部接続までの手順

きっかけ

このブログは、Conoha wingのレンタルサーバーをお借りしてWordpressのお手軽設定で運用している。

来年あたりは、このサーバーに、競馬系の簡易な独自システムをお勉強兼ねて作ろうと計画している。

まずはローカル環境でLAMPやLaravelの学習をしようと考えている。

今更MySql5.7のバージョンをインストールするのは、Conoha wingにバージョンを合わせたかったからである。

本ブログで、MySql5.7を執筆時点最新のUbuntu 22.04.1 LTSへインストール~外部接続までの手順を記載する。

前提となる環境

■ホストOS
Windows11 バージョン22H2
■ゲストOS
Ubuntu 22.04.1 LTS
VirtualBox 6.1
■インストールするMySQL
MySQL 5.7.40
■外部接続確認アプリケーション
HeidSQL 12.3.0.6589(64bit)

aptでのインストールバイナリ取得まで

sudo apt-get update
sudo apt-get install wget
mkdir downloads
cd downloads
wget wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

dpkgでMySQLのバージョン指定

sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

最初 mysql-8.0 なので、5.7を選びなおすこと


sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29

sudo apt-get update

MySQL 5.7 クライアントパッケージのインストール

sudo apt-cache policy mysql-server

MySQL 5.7 クライアントパッケージのインストールをシミュレートします。

sudo apt-get install -s mysql-client=5.7.40-1ubuntu18.04
sudo apt-get install mysql-client=5.7.40-1ubuntu18.04

MySQL 5.7 サーバーのインストール

sudo apt install -f -s mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*

-f,--fix-broken
依存関係が壊れたシステムで使用し、修復処理を行います。-mオプションと併用するとエラーが発生する可能性があります。


オプションの意味
  -s, --simulate
何もしない - 現在のシステム状態に基づいて起こるイベントのシミュレーションを行い、実際にはシステムを変更しません。

sudo apt install -f -s mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*

-f,--fix-broken
依存関係が壊れたシステムで使用し、修復処理を行います。-mオプションと併用するとエラーが発生する可能性があります。

sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*
途中で、mysqlのrootパスワードを指定する。(後々の為にメモしておくこと)

dpkgでインストール状況の確認

dpkg -l | grep mysql

ローカルでの接続確認とバージョン確認

mysql -u root -p

select version();

外部から接続を許可設定

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 

bind-address  = 127.0.0.1 をコメントアウト(全てのIPアドレスからアクセスを許可)

MySQL で外部からアクセスできるユーザーを作成

mysql -u root -p

CREATE USER "mymayser"@"192.168.10.10" IDENTIFIED BY "password";

SELECT user, host FROM mysql.user;

作成したmymaserにすべての権限をすべての DB に対して与える。

GRANT ALL PRIVILEGES ON *.* TO  "mymayser"@"192.168.10.10";

mysqlの再起動

sudo service mysql status
sudo service mysql restart
sudo service mysql status

ホストコンピュータ側から外部接続確認

HeidiSQLを利用させて頂く。

-MySQL, データベース, プログラミング, 環境構築
-,