11. MariaDBのインストール

10. PHP の拡張モジュールについて の続き。

MariaDB – 日本語 - MariaDB Knowledge Base

MariaDB-Serverのインストール

インストールされているかの確認。(初期インストール設定によっては MariaDB 5.5 Serverがすでにインストールされている場合もあります)

[root@localhost ~]# yum list installed | grep mariadb
mariadb-libs.x86_64                   1:5.5.60-1.el7_5               @anaconda

インストール

# yum install mariadb mariadb-server
読み込んだプラグイン:fastestmirror
~(中略)~
インストール中:
 mariadb                          x86_64          1:5.5.60-1.el7_5            base          8.9 M
 mariadb-server                   x86_64          1:5.5.60-1.el7_5            base           11 M
依存性関連でのインストールをします:
 perl-Compress-Raw-Bzip2          x86_64          2.061-3.el7                 base           32 k
~(中略)~
インストール容量: 110 M
Is this ok [y/d/N]: y
インストール:
  mariadb.x86_64 1:5.5.60-1.el7_5              mariadb-server.x86_64 1:5.5.60-1.el7_5

依存性関連をインストールしました:
  perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7     perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
~(中略)~
完了しました!
[root@localhost html]# yum list installed | grep mariadb
mariadb.x86_64                        1:5.5.60-1.el7_5               @base
mariadb-libs.x86_64                   1:5.5.60-1.el7_5               @anaconda
mariadb-server.x86_64                 1:5.5.60-1.el7_5               @base

MySQLの設定に入ります。

# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

character-set-server=utf8 (←1行追加)

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

 

-- 挿入 -- W10: 警告: 読込専用ファイルを変更します
E37: 最後の変更が保存されていません (! を追加で変更を破棄)
などと出た場合は Esc キーを連打してコマンドモードに移った後「 :q! (保存せずに閉じる)」してください。そのあと $ su -でrootユーザーになってから再度編集してください。この辺りの設定ファイルは一般ユーザーには編集権限がありません。

MariaDB 起動

# systemctl start mariadb

 

MariaDB 自動起動設定

# systemctl enable mariadb

 

MariaDB の初期設定

# mysql_secure_installation

 

f:id:hirose-test:20180719232921j:plain

最初の設問は未入力でそのまま Enter キー(rootユーザーもまだ作ってないので)

f:id:hirose-test:20180719233111j:plain

root パスワード設定の際、数字をテンキーで入力する場合は numlock キーが有効になってることを改めて確認してください。numlock キー無効で叩くと phpMyAdmin ログイン時に詰みます。

残りの設問は全部 Yes で。

f:id:hirose-test:20180719233605j:plain

ターミナルから MariaDB にログインしてみる。

[root@localhost html]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

MariaDBから抜けるにはバックスラッシュ(¥マークか「ろ」の左)にq

http://localhost/phpmyadmin/ にアクセス。

が、phpMyAdmin 画面は映りますが、ログインフォームが表示されません。誰か助けて。

うまく行ったときのコマンド履歴を完全になぞってるのになぜうまくいかないんだろう。と両者を凝視していたら、あら…ブラウザが違う?
そういや前回は普通に Firefox を使ったけど、今回は Konqueror てなんじゃろーと好奇心でこちらを使ってみたんでした。でもまさかそんなことで 解決した!
Konqueror でも設定をなんかかんかしたら表示されるんだろうけど……ああ疲れた。)

f:id:hirose-test:20180801005237j:plain

phpMyAdmin をローカル以外から閲覧する

初期状態では localhost(ゲストOS)からのアクセスのみが許可されており、ホストから(またはローカルでもドメイン名で) phpMyAdmin を見に行くと「You don't have permission to access」と言われます。

f:id:hirose-test:20190113213742j:plain

/etc/httpd/conf.d/phpMyAdmin.conf を編集することで外部からもアクセスできます。

# cd /etc/httpd/conf.d  
# ls  
README  autoindex.conf  php.conf  phpMyAdmin.conf  userdir.conf  welcome.conf
# vi phpMyAdmin.conf
&ltDirectory /usr/share/phpMyAdmin/&gt
   AddDefaultCharset UTF-8

   &ltIfModule mod_authz_core.c&gt
     # Apache 2.4
     Require local
     Require ip 192.168.56.102    ← 自身の環境に合わせて追加
     (複数まとめての場合、192.168.0. のように適切なセグメントで指定してください)
   &lt/IfModule&gt
   &ltIfModule !mod_authz_core.c&gt
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   &lt/IfModule&gt
&lt/Directory&gt

ファイル保存後、httpd のリスタートが必要です。

# systemctl restart httpd

閲覧できるようになりました。 f:id:hirose-test:20190113220425j:plain

また、hoge ユーザ が 192.168.1.* から hoge_db へアクセスできるように追加設定する場合。

mysql> grant all privileges on hoge_db.* to hoge@"192.168.1.%" identified by 'hogepass';

ただし、ファイルの先頭に

# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

と書かれている通り、SSLで適切に保護されていない限りphpMyAdminlocalhost以外の人に許可することは危険なので、なるべく許可しない方がよいでしょう。

12. phpMyAdmin の環境保管領域を作成する。その1

/* -----codeの行番号----- */