MySQLのインストール

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

代表的でフリーなSQLサーバのインストールをします。
SQLサーバを使用するフリーなWebアプリケーションのほとんどで
使われていてるので、入れておいて損はありません。

5.5系がGAになってますが、うちの環境だとコンパイルがうまくいかないので、5.1系でやってます。
Fedora15からは5.5がデフォルトになるらしいが、前見たときはmariaDBにするみたいなのが描かれてたのは気のせいだったかな

HP: http://www.mysql.com/

インストール

cd /usr/local/src
wget http://www.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.57.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
tar zxvf mysql-5.1.57.tar.gz
cd mysql-5.1.57

./configure \
--prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=cp932,eucjpms,ujis,utf8 \
--with-ssl=/usr/local/ssl \
--with-big-tables \
--enable-thread-safe-client \
--with-plugins=innobase,myisam,myisammrg,ndbcluster,heap,federated,csv,blackhole,archive,partition,innodb_pluginmake
make install
scripts/mysql_install_db
cp support-files/my-***.cnf /etc/my.cnf
#(***はsmall medium large hugeのデフォルトが選べます)
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
/etc/init.d/mysqld start

これで一応完了です。
次にrootのパスワード変更といらないアカウント削除です。

/usr/local/mysql/bin/mysqladmin -u root password *******
/usr/local/mysql/bin/mysql -u root -p
Enter password: *******

mysql> use mysql
Database changed
mysql> delete from user where User = '';
Query OK, 2 rows affected (0.00 sec)
mysql> \q
Bye

忘れぬうちに覚書

ユーザ作成(変更・削除)

mysql -u root -p mysql
Enter password: *******

mysql> grant all privileges on DATABASE.* to USER@localhost identified by 'PASSWORD';
大文字の部分はそれぞれデータベース名 ユーザ名 パスワード(普通はわかるか)に置き換えてください

上ではDATABASEという名前のデータベースに対して
そのサーバ上のUSERがPASSWORDを使用して
DATABASE上なら何でもできちゃうぞ!ってことです。
データベースはスーパーユーザで作ってテーブルの作成とか
更新だけしたい場合は以下のようにすると良いです。

mysql> grant CREATE,ALTER on ~以下同文

初めて作成したユーザについては問題ないと思いますが、
grant文でユーザを更新した場合は次のコマンドでユーザの更新をする必要があります。

mysql> flush privileges;

アップグレードしたら

/usr/local/mysql/bin/mysql_upgrade -u root -p

をしないとうまく動かない場合があるかもしれません。

Tags: 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.