3 phpMyAdminを使う

  二度まで挑戦してやっとログインまでたどりついたので、このまま使ってみたいと思います。
  私自身、phpMyAdminの学習もかねているまで、もどかして点もあるかと思いますがよろしくお付き合いください。

Ⅰ ユーザーの登録

①phpMyAdminにログインする。

②上部の「User accounts」タブをクリックし、「Add user account」をクリック。

③ログイン情報の入力。

④下にスクロールして「ユーザー権限」を設定する。ここでは「select」のみをチェック。

⑤「実行」ボタンをクリック。

⑤左上の「ログアウト」アイコンをクリックし終了。

Ⅱ データベース・テーブルの作成

①phpMyAdminにログインする。

②まずデータベースを作ります。左横のサイドメニューで新規作成をクリックします。

③「walkphoto」という名前にします。

④右下の「保存」ボタンをクリック。

⑤続けてこのデータベースに含まれるテーブルを作ります。テーブル名の欄に「photoes」と入力。カラム数は デフォルトの4のまま、4にします。

⑥入力欄が多いですが、必須なのはデータ型と、データ型がVARCHAR型の際の「長さ/値」と「NULLインデックス」を開いて、「PRIMARY」を指定する点です。
データ型には、INT 整数、VARCHAR 文字列、TEXT 文章型といえばよいでしょうか。VARCHARの場合、長さを半角数で指定する必要があります。
PRIMARYは、データを特定するために必要な部分で、一意性を持ち、必ずなくてはならないもので、一般的には整数型のカラム(フィールド)を指定します、
カラム名「image」は実際のイメージを指すのではなく、イメージファイルを格納しているパス名を指していることに注意してください。

⑦間違いがなければ、右下の保存ボタンをクリック。

⑧作成したテーブルの構造は下の画面のように表示されます。

⑨続けて「places」「message」と2つのテーブルを作ります。なお、データベース名テーブル名、カラム名などすべて半角で表記した方が後で利用するのに都合がよいようです。

⑩テーブルplacesを作り終えたときの情報。

⑪テーブルmessageを作り終えたときの情報。

⑫この場面は、3つ目のテーブルを保存する前に「SQL プレビュー」という機能を使って、作成の作業をコマンドラインで実施する様子を表示したものです。

Ⅲ データの一括登録

  一応、データベースと、テーブルの構成ができあがりましたが、実用に生かすには、データがなければなりません。ふつうはコツコツとデータをセットしていくことが必要です。
プログラムとか、このphpMyAdminとかでデータを積み上げることが必須です。
  たまたま、MariaDB(mysql)と同じようなフリーなデータベースソフトであるpostgresqlで使用してテキストファイルからデータをMariaDBにまとめて取り込む作業をここで紹介します。

①「photoes.csv」の中身。これをテーブル「photoes」に取り込みます。
このファイルは一行ずつ「,」記号で区切ったテキストファイル(拡張子txt)を拡張子をcsvに変えたものです。
文字コードを「utf8」で保存することにに注意しましょう。

1,1,./photoes/senbahikawa01.jpg,入口から見た境内
2,1,./photoes/senbahikawa02.jpg,神社の由来を書いた案内板
3,1,./photoes/senbahikawa03.jpg,境内に残る円墳
4,1,./photoes/senbahikawa04.jpg,参拝する人はこの石段を登ります
5,1,./photoes/senbahikawa05.jpg,道を隔てて見た境内の全景
6,1,./photoes/senbahikawa06.jpg,手水舎
7,1,./photoes/senbahikawa07.jpg,石段を上った正面に拝殿が見える
8,1,./photoes/senbahikawa08.jpg,境内には遊具もあります
9,2,./photoes/senbakasikouen01.jpg,北側入り口
10,2,./photoes/senbakasikouen02.jpg,入口にある案内板。正式には「仙波河岸史跡公園」。
11,2,./photoes/senbakasikouen03.jpg,公園のほぼ真ん中にある東屋(あずまや)
12,2,./photoes/senbakasikouen04.jpg,東屋のそば、昔の河岸場の前に立てられた「仙波河岸のむかし」説明図
13,2,./photoes/senbakasikouen05.jpg,昔「滝の下」と呼ばれ豊かな湧き水が出ていました
14,2,./photoes/senbakasikouen06.jpg,竜神を祀る石碑

②ではデータを取り込みます、まず取り込み先のテーブル(この場合photoes)をクリック。
「先頭からスキップする数」何にテーブルにデータがセットされていないので、「0」です。データを追加する際、注意が必要です。
次にデータの取り込む元のデータの形式と方法をを選びます。ここでは「CSV using LOAD DATTA」を選択。

③少し上に画面をスクロールさせ、「参照」アイコンをクリックし、取り込み元のファイルを選びます。

④リモートにファイルがある場合、目標のファイルを選択して、「開く」ボタンほクリックします。

⑤ここまで手続きが済んだら、「実行」ボタンをクリックします。

⑥データが少ないので、すぐに実行できました。

⑦あと二つのテーブルへのデータも、取り込み先のテーブルの指定、取り込み方法の指定と、取り込み元のファイルの指定をまちがえなければうまくいくと思います。
下の画面は、三つ目のテーブルmessageにデータを取り込んだ結果を表示したものです。

ⅳ コマンドラインでの作業では

# mysql -u root -p
Enter password:
↓ ユーザーの新規作成
   ××××××××はパスワード
create user 'eiiti'@'localhost' identified by '××××××××';
grant select on *.* to eiiti;
↓ データーべースの新規作成
create database walkphoto;
↓ データーべースの切り替
use walkphoto: 
↓ テーブル新規作成
create table photoes (no int not null primary key,id int,image varchar(50),comment text);
create table places(id int primary key,yname varchar(100),jname varchar(100));
create table message(no int primary key,id int,message text,image varchar(100));

↓ テーブルへのデーター登録(CSVファイルもしくはtxtファイルが存在する場合)
LOAD DATA INFILE '/usr/local/public/walkphoto/photoes.csv'
INTO TABLE photoes 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;  

LOAD DATA INFILE '/usr/local/public/walkphoto/places.csv.'
INTO TABLE places 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;  

LOAD DATA INFILE '/usr/local/public/walkphoto/message.csv'
INTO TABLE message 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;

  phpMyAdminというツールを使った例と、コマンドライン(この次からはターミナルと言い表します)を使う例を紹介しました。どちらを選ぶかは好みによるでしうね。
  私の場合、長年、postgresqlというデータベースソフトを使って、ターミナルもしくはコマンドプロンプトを使ってきたので、それの方がなじみやすかったです。
  次の章は、さっそく作ったばかりのデータベースを使ったphpプログラムの例を紹介し、あわせて、Fedorakのシステムのバージョンアップの方法についても触れていきます。
  もしかして、phpMyAdminにrootからのログインができないで難渋している方がおいでになるかもしれません。
  かく言う私も、別のパソコンにphpMyAdminを導入して確かめた所、どういうわけかrootではログインできなかったのです。
  いろいろなサイトで調べたところ、phpMyAdminの設定ファイルを編集すればいいという記事を見つけました。
  その記事にしたがってためしたところ、どうにかログインできたのでここにつけ加えます。

①まずphpMyAdminの設定ファイルをさがし編集します。/etc/phpMyAdmin/config.inc.php

/**
 * Server(s) configuration
 */
$i = 0;

// The $cfg['Servers'] array starts with $cfg['Servers'][1].  Do not use
// $cfg['Servers'][0]. You can disable a server config entry by setting host
// to ''. If you want more than one server, just copy following section
// (including $i incrementation) serveral times. There is no need to define
// full server array, just define values you need to change.
$i++;
$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port
↓ 更新
$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']  = '3306';          // MySQL port - leave blank for default port

②「systemctl restart httpd」と入力。Apacheを再起動させます。

Windows版のphpMyAdminにはインストールしたディレクトリにはconfig.inc.phpはなく、かわりにconfig.sample.inc.phpがあるので、config.inc.phpとファイル名を変え、$cfg['Servers'][$i]['port'] = の項がないので追加してください。