読者です 読者をやめる 読者になる 読者になる

@半径とことこ60分

人間の認知範囲なんてそんなもんさと、鳥が囀った

Plamo-5.2/mysql(MariaDB)を稼働させる(完了)

mysql の初期設定

mysql の初期設定ですが、その前に、インストールされたREADMEとかパッケージ名を見ますと、MariaDB という言葉が頻繁に出てきます。何だろうと調べてみますと、MariaDBは、MySQL派生のオープンソースな関係データベース管理システムとのことで、すでに google や Wikipedia も Mysql から MariaDBに乗り換えているんですね。plamo-5.2も

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

となっています。

MariaDBには、5.5系列と10.0系列の二つのバージョンがあり、5.5系列はMysql5.5と完全互換のようです。ということなら、現状では問題はなさそうです。

起動は、/etc/rc.d/init.d/mysql に起動スクリプトがあり、start,stop,restart などのオプションを取るようです。実行ビットが立っていませんので、とりあえず、

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

としてみましたら、起動しましたね。

# mysqlshow
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

以下、初期設定。

# mysql -u root -p mysql
Enter password:(Enter)
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.30-MariaDB Source distribution
Copyright (c) 2000, 2013, Oracle, Monty Program 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)

rootにパスワード設定
MariaDB [mysql]>SET PASSWORD FOR root@localhost=PASSWORD('password');
Query OK, 0 rows affected (0.00 sec)

 これで、root@localhost にはパスワードが設定されたのですが、127.0.01やホスト名(vaio)、それに ::1(これは何でしょう?)のパスワードはどうなるんでしょう?

MySQL :: MySQL 5.1 リファレンスマニュアル (オンラインヘルプ) :: 2.11.3 最初の MySQL アカウントの確保によりますと、127.0.0.1やホスト名にもパスワードを設定しておけとありますね。ただ、root@::1に設定しようとするとエラーになります。

 

::1はIPv6のループバックアドレスらしい

ループバックアドレスとは 【 127.0.0.1 】 〔 ローカルループバックアドレス 〕 - 意味/解説/説明/定義 : IT用語辞典によると、::1は IPv6のループバックアドレスで IPv4の127.0.0.1にあたるらしいです。

で、root@::1をどうしたものかと悩んでいたんですが、パスワードを設定しようとしてエラーになったわけが分かりました。

MariaDB [mysql]> SET PASSWORD FOR root@'::1'=PASSWORD('password');

と引用符でくくらないとダメなんですね。

ということで初期設定は終了です。 後は、PC起動時に mysql を起動する方法ですが、/etc/rc.d/rc.M に /etc/rc.d/init.d/ 以下のファイルに実行ビットが立っていれば起動するスクリプトがありますので、

# chmod 755 /etc/rc.d/init.d/mysql

としておけばよさそうです。

 

mysql接続確認

念のため、php から接続できるか確認しておきましょう。

<?php
$hostname = "localhost";
$username = "root";
$password = "password";
$dbname = "test";
if( ! $connect = mysql_connect($hostname, $username, $password) ){
die( 'エラー: ' . mysql_error() );
}
if( ! $select = mysql_select_db($dbname, $connect) ){
die( 'エラー: ' . mysql_error() );
}
mysql_close($connect) ;
echo '接続OK!';
?>

「接続OK!」と表示されればOKです。

これで、ひとまず apache+php+mysql の環境が整いました。