UbuntuにMySQLをインストールして、ApacheのPHPからアクセスするまで

UbuntuにMySQLをインストールし、Apache上のPHPから接続するまでの作業記録。

Markdownで開く

過去の記事(Qiitaから移行)

この記事は公開当時の知識・環境に基づいて書いたものです。現在の仕様に合わせた更新・動作確認は行っておらず、内容の正確性や動作を保証するものではありません。

初出:2021-11-12・Qiita

環境

Ubuntu 20.04.3 Apache 2.4.41 PHP 7.4.3

MySQLのインストール

https://qiita.com/houtarou/items/a44ce783d09201fc28f5

こちらを参考にしました。 こちらのコマンドを入力します

 $ sudo apt install mysql-server mysql-client

Rootユーザーの設定

 $ sudo mysql_secure_installation
質問 答え
Press y|Y for Yes, any other key for No: y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 後述※1
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

※1 パスワードの強度についてです。0が一番弱く、2が強いです。 パスワードマネージャー等で強固なパスワードを管理できる方は2で大丈夫ですが、自信のない方は0にしましょう(とはいっても、2にするのが推奨です)

テスト用ユーザーの作成

次のように入力してMySQLを起動します

 $ sudo mysql -u root

ユーザー作成

MySQL内でユーザーを作成します

mysql> CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'パスワード';

権限付与

ここでは分かりやすく全権限を付与していますが、通常は必要な物のみ与えるようにしましょう。

https://www.dbonline.jp/mysql/user/index6.html

mysql> GRANT all on *.* to 'ユーザー名'@'localhost';

テスト用テーブルの作成

mysqlの画面で次の文を実行してください。

create database test;
use test;
create table students(id int,name varchar(20));
insert into students (id,name) values (1,'Taro'),(2,'Hanako');

PHPの環境

PHPのライブラリをダウンロードします

 $ sudo apt install php7.4-mysql
 $ sudo systemctl restart apache2

ファイルの作成

次の内容を適宜変更し、アップロードします

<?php

$link = mysqli_connect('localhost', 'ユーザー名', 'パスワード', 'test');

$query = "SELECT id, name FROM students;";

if ($result = mysqli_query($link, $query)) {
    foreach ($result as $row) {
        echo($row['id'].$row['name']);
    }
}
mysqli_close($link);

アクセスして、1Taro2Hanakoと表示されたら成功です。お疲れ様でした。

← 記録一覧へ戻る