きっかけ
このブログは、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* |
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を利用させて頂く。