MySQLのインストール

MySQLをインストールするには、公式サイトよりMySQLをダウンロードします。
[参考記事] WindowsでMySQLをインストールする方法
[参考記事] PHPでMySQLなどにPDO接続をすると、could not find driverのエラーが出る場合

MySQL公式サイト
ダウンロード

rpmでインストール
yumでインストール
Debianでapt-get install
Cannot find MySQL header files

rpmでインストール

公式サイトでは、Linux に MySQL をインストールする方法として RPM パッケージの使用を推奨しています。

ディストリビューションのバージョン・CPUにあったRPMをダウンロードしますが、 コマンド(ターミナル)より直接ダウンロードする場合はURLを調べて、wgetコマンドを実行します。

例:Red Hat Enterprise Linux 5 RPM (x86) 5.1.40バージョン

ダウンロード

wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-server-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-client-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-devel-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/

インストール

インストールはroot権限で実行します。

rpm -i MySQL-server-community-5.1.40-0.rhel5.i386.rpm
rpm -i MySQL-client-community-5.1.40-0.rhel5.i386.rpm
rpm -i MySQL-devel-community-5.1.40-0.rhel5.i386.rpm

これでインストールは完了し、MySQLが起動しています。
またOS再起動時にも自動的にMySQLは起動します。

インストール直後はMySQLのrootパスワードは設定されていません。
インストールが完了したら、すぐにパスワードを設定しましょう。

RPMでインストールした場合にはMySQLのパス設定がされているため、どのユーザでもMySQLコマンドが実行できます。

次のコマンドでMySQLにログインします。

mysql -u root

次のSQL文を実行し、root権限に設定されているホスト名を調べます。

SELECT Host, User FROM mysql.user;
| 127.0.0.1             | root |
| localhost             |      |
| localhost             | root |
| localhost.localdomain |      |
| localhost.localdomain | root |

すべてのホストに対して、パスワードを設定します。
パスワードの設定コマンドは下記のようになります。

SET PASSWORD FOR root@【ホスト名】=PASSWORD('【パスワード】');

上の例では次のようになります。

SET PASSWORD FOR root@127.0.0.1=PASSWORD('【パスワード】');
SET PASSWORD FOR root@localhost=PASSWORD('【パスワード】');
SET PASSWORD FOR root@localhost.localdomain=PASSWORD('【パスワード】');

『 % 』がホスト名にあった場合には『 ' 』で囲います。

SET PASSWORD FOR root@'%'=PASSWORD('【パスワード】');

MySQLから抜けるコマンドは『 ¥q 』です。

mysql> \q

次のコマンドでMySQLのroot権限にパスワードが設定されているか確認します。

mysql -u root -p

『 Enter Password: 』と出るのでパスワードを入力します。

次のようにしてもMySQLにログインできますが、やってはいけません。

mysql -u root -p 【パスワード】

この場合、コマンドで『 history 』を実行すると、MySQLのパスワードを知ることができます。

yumでインストール

インストール

インストールはroot権限で実行します。

yum install mysql
yum install mysql-devel
yum install mysql-server

-y を付けるとYes/Noの確認なくインストールされます。

yum -y install mysql
yum -y install mysql-devel
yum -y install mysql-server

このときMySQLサーバは立ち上がっていません。またOS起動時にも立ち上がりません。

OS起動時の自動起動

OS起動時に立ち上がるようにするには次のコマンド。

chkconfig mysqld on

起動時に立ち上がるかどうかを確認するには

chkconfig --list mysqld

2,3,4,5がonになっている場合は通常モードでOSを起動したときにMySQLは起動します。

MySQLサーバの起動

MySQLサーバをコマンドで立ち上げるには次のコマンド。

service mysqld start

初回起動時にはファイルの初期化をするなどといった次のような表示が出ます。

MySQL データベースを初期化中:  Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h 【サーバ名】 password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

                                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]

この表示の中には『rootのパスワードを設定してください』とあります。

rootパスワードの設定

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h 【サーバ名】 password 'new-password'

を実行してパスワードを設定します。

Debianでのインストール

Debianではapt-getでインストールできます。

apt-get install mysql-server mysql-client libmysqlclient15-dev

Cannot find MySQL header files

PHPでPDO-MySQLをインストールする際に、headerファイルやclient libraryがないとエラーが出ることがあります。
rpmではMySQL-devel、apt-getではlibmysqlclient15-devがインストールされていない場合にエラーが発生します。

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

このように出る場合は、MySQLサーバが起動していないかソケットの指定が間違っています。

関連記事

スポンサーリンク

cron実行時のPATHなどの環境変数を確認する方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る