IMUZA.com

Xserver<<WordPress(ConoHa)<<はてなブログ

ホーム / Linux / 【Plamo6.1】MySQL(MariaDB)を立ち上げ、Apache+PHP+MySQL の環境を整える

【Plamo6.1】MySQL(MariaDB)を立ち上げ、Apache+PHP+MySQL の環境を整える

2016/09/11 Linux, Plamo

前回で、Webサーバと PHP が使える状態になりました。後は、MySQL です。

  • MySQL はインストールされているのか?
  • MariaDB の起動スクリプト
  • MySQL(MariaDB)の初期設定
  • MySQL(MariaDB)接続確認

MySQL はインストールされているのか?

Plamo のパッケージ管理は、installpkgやremovepkgを使って行い、インストールされたパッケージは、/var/log/package以下に

PACKAGE NAME:     mariadb-10.1.10-x86_64-P1
COMPRESSED PACKAGE SIZE:     30049 K
UNCOMPRESSED PACKAGE SIZE:     237300 K
PACKAGE LOCATION: /var/adm/mount/plamo/05_ext/mariadb-10.1.10-x86_64-P1.txz
PACKAGE DESCRIPTION:
mariadb: MariaDBデータベースサーバ
mariadb:
mariadb: MariaDBは,Oracleに買収されたMySQLを見限った元々の開発者たちが
mariadb: 新しく作りあげた,MySQLと互換性を持ったデータベースサーバです.
mariadb:
mariadb:
mariadb:
mariadb:
mariadb:
mariadb:
mariadb:
FILE LIST:
opt/
opt/mariadb/
opt/mariadb/README
opt/mariadb/CREDITS
opt/mariadb/COPYING
opt/mariadb/COPYING.LESSER

のようにインストールデータが保存されています。

上のファイルは、MySQL 互換の MariaDB のパッケージです。確かに、/opt/mariadb/以下にインストールされています。

# ls -l /opt/
合計 8,192
drwxr-xr-x  5 root root  4,096 12月  8日 2014年 kde/
drwxr-xr-x 10 root mysql 4,096  2月  5日 2016年 mariadb/
lrwxrwxrwx  1 root root      7  8月  2日  13:18 mysql -> mariadb/

MySQL は、MariaDB のシンボリックリンクになっています。なるほど。

MariaDB の起動スクリプト

Plamo の起動スクリプトは、/etc/rc.d/以下に収められており、/etc/rc.d/rc.Mから/etc/rc.d/init.d/以下にある実行ファイルが実行されます。

MariaDB の起動スクリプトもその中にあります。ただ、実行ファイルになっていませんので実行権限を与えます。

# ls -l /etc/rc.d/init.d/mariadb
-rw-r--r-- 1 root root 12,564  2月  5日 2016年 /etc/rc.d/init.d/mariadb


# chmod u+x /etc/rc.d/init.d/mariadb
# ls -l /etc/rc.d/init.d/mariadb
-rwxr--r-- 1 root root 12,564  2月  5日 2016年 /etc/rc.d/init.d/mariadb*

起動してみましょう。

# /etc/rc.d/init.d/mariadb start
Starting MySQL. SUCCESS!


# mysqlshow
+--------------------+
|     Databases      |

+--------------------+
| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

立ち上がりました!

MySQL(MariaDB)の初期設定

root でログインしてみます。初期状態ではパスワードは設定されていませんのでエンターで入ります。

# mysql -u root -p mysql
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.1.10-MariaDB Source distribution
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [mysql]> select host,user,password from user;
+-----------+------+----------+
| host      | user | password |

+-----------+------+----------+
| localhost | root |          |

| vaio      | root |          |

| 127.0.0.1 | root |          |

| ::1       | root |          |

| localhost |      |          |

| vaio      |      |          |

+-----------+------+----------+
6 rows in set (0.00 sec)

上が登録ユーザの一覧ですが、匿名ユーザを削除しておきます。

MariaDB [mysql]> delete from user where user='';
Query OK, 2 rows affected (0.00 sec)


MariaDB [mysql]> select host,user,password from user;
+-----------+------+----------+
| host      | user | password |

+-----------+------+----------+
| localhost | root |          |

| vaio      | root |          |

| 127.0.0.1 | root |          |

| ::1       | root |          |

+-----------+------+----------+
4 rows in set (0.00 sec)

root にパスワードを設定します。

MariaDB [mysql]> set password for root@localhost=password('パスワード');
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> set password for root@vaio=password('パスワード');
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> set password for root@127.0.0.1=password('パスワード');
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> set password for root@'::1'=password('パスワード');
Query OK, 0 rows affected (0.00 sec)

MySQL(MariaDB)接続確認

この MariaDB を PHP からどうやって使えばいいのでしょう? まずは、バージョンをみてみますと、

# mysql -V
mysql  Ver 15.1 Distrib 10.1.10-MariaDB, for Linux (x86_64) using readline 5.1

と 10.1 となっており、5系列は MySQL と完全互換のようですが、10系列はどうなんでしょう?

その場合、PHP からの接続に何を使うかということになりますが、MySQL 拡張モジュールが非推奨ということですし、そもそも入っていないわけですから、PDO_MySQL を使うことになります。PDO_MySQL を使って接続確認をしてみましょう。

PHP のマニュアルからの接続テストスクリプトで確認してみます。

<?php
$user = 'root';
$pass = 'パスワード';


try {
  // データベースに接続
  $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
  // 接続に成功
  print "接続成功!";
  $dbh = null;
} catch (PDOException $e) {
  print "エラー!: " . $e->getMessage() . "<br/>";
  die();
}
?>

(2016/9/12)追加

「エラー!: could not find driver」と表示されます。

pdo_mysql.soが組み込まれていないですね。

# find / -name "pdo_mysql.so"
/usr/lib64/extensions/no-debug-non-zts-20131226/pdo_mysql.so

にありますので、php.iniに以下を追加します。

; UNIX: "/path1:/path2"
include_path = ".:/usr/lib64/php:/usr/lib64/extensions/no-debug-non-zts-20131226
"
extension=pdo_mysql.so

Apache を再起動して、接続テストスクリプトを呼び出しますと、「接続成功!」と表示されますので OK です。

さて、これで Apache + PHP + MySQL の準備が整いましたが、問題は、一番の目的の Joomla! が PDO_MySQL で動くかです。一度インストールしてみるしかありませんね。

次回です。

【Plamo6.1】Webサーバ Apache + PHP を立ち上げる
【Plamo6.1】PHPをソースから再インストール
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2023/03/21

WordPress:メール送信にGmailのSMTPを使う(プラグインなし)

2023/03/10

WordPress:サムネイル付き次の記事/前の記事

2023/02/28

Twitterシェアリンクはintent/tweetを使おう

2023/02/21

GoogleタグマネージャーとアナリティクスGA4

2023/02/8

WordPress:人気記事を直近の期間指定で表示する

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ214
  • WebTips109
  • javascript98
  • Joomla!88
  • Windows68
  • Wordpress65
  • CSS63
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Google34
  • Plamo33
  • はてなプラグイン25
  • php22
  • Node.js18
  • Ubuntu16
  • SASS16
  • laravel415
  • Chrome11
  • cms-style10
  • iPhone9
  • ConoHa WING6
  • Git入門6
  • genesis6
  • Python5
  • Android5
  • PC全般4
  • Facebook4
  • スマートフォン4
  • 静的サイトジェネレーター3
  • Firefox3
  • SSD3
  • Blankslate3
  • Docker3
  • Twitter2
  • GitHub2
  • Mactype2
  • はてなブクマ1
  • 映画1
  • youtube1
  • rails入門1
  • Xserver1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Related Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2023 · IMUZA.com