Saito's Linux Webpage

MySQLのインストール手順

  (凡例)
   # ・・・ root でログイン時のコマンドプロンプトを表します。
   $ ・・・ root 以外 でログイン時のコマンドプロンプトを表します。

  (対象OS)
    Red Hat Linux 8.0

  (参考文献)
    MySQL & PHPでつくるWebデータベース(Spencer K Ogawa 著/エーアイ出版)
    MySQL 徹底入門(日本MySQLユーザ会 著/翔泳社)


  01. 最新のMySQLパッケージを入手する。
  02. インストール済みrpmパッケージのアンインストール
  03. MySQLのインストール
  04. デーモンプロセス実行環境設定
  05. MySQLコマンドのシンボリックリンク作成
  06. 手動で、MySQLを起動する。
  07. MySQL rootユーザ環境設定
  08. 手動で、MySQLの停止・起動を確認する。
  09. MySQLの自動起動設定
  10. MySQL 一般ユーザ登録


最新のMySQLパッケージを入手する。
MySQLパッケージは、ここから最新のものをダウンロードしてください。
上記ページの MySQL 4.0 というリンクをクリックしてください。(画面キャプチャ赤色で示した部分です。)
画面キャプチャ中"Production release"というのは、安定して動作する最新バージョンであることを意味します。
その他のリンクは、旧バージョンや開発中バージョンのものです。
次のページの1番下に Source downloads というカテゴリがあります。そのカテゴリの中にある Tarball (tar.gz) という
  ファイルをダウンロードしてください。(画面キャプチャ赤色で示した部分です。)
私が自分のPCにインストールした当時は、バージョン4.0.18が最新だったため、ここではMySQLパッケージとして「mysql-4.0.18.tar.gz」を使用します。
インストール済みrpmパッケージのアンインストール
すでにMySQLのrpmパッケージがインストール済みの場合、それが邪魔になってソースからのコンパイルが上手くいかない事があります。 その場合はrpmパッケージを削除してください。

まず root でログインします。

インストール済みrpmパッケージの検索を行います。
   # rpm -qa | grep mysql

   何も出力されなければ、インストールされていません。パッケージ名などが出力された場合は、以下の方法でアンインストールして下さい。

rpmパッケージのアンインストール
   # rpm -e mysql

   上記コマンドを実行した場合、rpmパッケージの依存関係のためにアンインストールできない場合があります。
   このような場合は、依存関係でチェックされたパッケージをすべてアンインストールした後で、MySQLをアンインストールしてください。
MySQLのインストール
MySQLパッケージファイル 「mysql-4.0.18.tar.gz」 を /usr/local/src 下へコピーし、下記コマンドを実行してください。
   # cd /usr/local/src
   # tar xfz mysql-4.0.18.tar.gz
   # cd mysql-4.0.18
   # ./configure --with-low-memory --with-charset=ujis --prefix=/usr/local/mysql
   # make
   # make install
   # ./scripts/mysql_install_db
デーモンプロセス実行環境設定
デーモンプロセス実行ユーザ作成
   # /usr/sbin/adduser mysql
   # passwd mysql

インストール先ディレクトリのパーミッション設定
   # chown -R mysql:mysql /usr/local/mysql
MySQLコマンドのシンボリックリンク作成
さしあたり必要なMySQLコマンド(mysql, mysqladmin, mysqldump)のシンボリックリンクを作成します。
   # cd /usr/bin
   # ln -s /usr/local/mysql/bin/mysql mysql
   # ln -s /usr/local/mysql/bin/mysqladmin mysqladmin
   # ln -s /usr/local/mysql/bin/mysqldump mysqldump
手動で、MySQLを起動する。
MySQLサーバが停止していることを確認します。
   # ps ax | egrep mysql | egrep -v grep

   何も表示しなければ、MySQLサーバは停止しています。

MySQLサーバを起動します。
   # /usr/local/mysql/bin/mysqld_safe &

   正常に起動すると、以下のメッセージを表示します。
      Starting mysqld daemon with databases from /usr/local/mysql/var

   コマンドプロンプト(#)が戻ってこない場合は、もう一度enterキーを押下してみて下さい。
MySQL rootユーザ環境設定
MySQL rootユーザの初期パスワードを設定します。
   # mysqladmin -u root password 'パスワード'

MySQL rootユーザの初期パスワードを変更したい場合は、以下のとおり行います。
   # mysqladmin -u root -p password '新パスワード'
   Enter password: 旧パスワード

初期設定で存在する、パスワード無しでもアクセス可能なユーザを削除します。
   # mysql -u root -p
   Enter password: パスワード

   mysql> use mysql
   Database changed

   mysql> delete from user where password='';
   Query OK, 3 rows affected (0.02 sec)

   mysql> flush privileges;
   Query OK, 0 rows affected (0.02 sec)

   mysql> exit
   Bye
手動で、MySQLの停止・起動を確認する。
MySQLサーバの停止
MySQLサーバが起動していることを確認します。
   # ps ax | egrep mysql | egrep -v grep

   以下のメッセージが表示されれば、MySQLサーバは起動しています。
      1239 pts/0  S   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
      1257 pts/0  S   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/

MySQLサーバを停止します。
   # mysqladmin -u root -p shutdown
   Enter password: パスワード

   正常に停止すると、以下のメッセージを表示します。
      040516 17:36:15 mysqld ended
      [1]+ Done          /usr/local/mysql/bin/mysqld_safe
MySQLサーバの起動
MySQLサーバが停止していることを確認します。
   # ps ax | egrep mysql | egrep -v grep

   何も表示しなければ、MySQLサーバは停止しています。

MySQLサーバを起動します。
   # /usr/local/mysql/bin/mysqld_safe &

   正常に起動すると、以下のメッセージを表示します。
      Starting mysqld daemon with databases from /usr/local/mysql/var

   コマンドプロンプト(#)が戻ってこない場合は、もう一度enterキーを押下してみて下さい。
MySQLの自動起動設定
rc.local ファイルの編集
/etc/rc.d/rc.local ファイルに以下の行を追記してください。
   /usr/local/mysql/bin/mysqld_safe &

参考までに、私のPCの設定ファイルを掲載しておきます。ここをクリックしてください。
ld.so.conf ファイルの編集
/etc/ld.so.conf ファイルに以下の行を追記してください。
   /usr/local/mysql/lib

参考までに、私のPCの設定ファイルを掲載しておきます。ここをクリックしてください。
Linuxマシンを再起動してください。
   # /sbin/shutdown -r now
MySQL 一般ユーザ登録
ここでは例として、「ユーザID:myuser/パスワード:mypswd」 で一般ユーザ登録を行います。
   # mysql -u root -p
   Enter password: パスワード

   mysql> grant all on *.* to myuser@localhost identified by 'mypswd';
   Query OK, 0 rows affected (0.02 sec)

   mysql> flush privileges;
   Query OK, 0 rows affected (0.02 sec)

   mysql> exit
   Bye

上記操作で登録される一般ユーザには、GRANT文の発行権限がありませんが、それ以外はrootユーザと同じ権限をもちます。

HOME INDEX