MySQL

MySQL
mariaDB
MySQL vs mariaDBが続いているけれど、ぶっちゃけ中身はほぼ同じなのでどっちでも良い。
一応、mariaDBの方が高機能らしいが殆ど変わらないと思う。
MySQL5.5から./configureではなく、cmakeを使うようになった。

インストール

1. ビルド

//MySQL 5.1系統
# tar zxvf mysql-5.1.73.tar.gz
# cd mysql-5.1.73
# ./configure --prefix=/usr/local/mysql --without-readline
# make
# make install

//MySQL 5.5系統
# tar zxvf mysql-5.6.15.tar.gz
# cd mysql-5.6.15
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
# make
# make install

cmakeのオプションはMySQLのオフィシャルに書いてある


2. MySQLの設定・起動準備
x86_64のOSを使っているのなら、下を必ず行う事!!
PHPとかのconfigure時に"--with-libdir=lib64"を指定すると、lib64を見に行ってしまって転ける

# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64



MySQL用のユーザを作成する。

# groupadd mysql
# useradd -g mysql -d /var/mysql -s /sbin/nologin mysql
# rm -rf /var/mysql/*
# rm -rf /var/mysql/*.*



起動スクリプトの設置を行う。コピーしたスクリプトの中身も書き換える。

# {MySQLのソースコード}/support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on



MySQLのデータベースを初期化する。

# /usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/mysql



3. MySQLの起動後設定
起動した後に、データベース内のゴミを削除する。

# /etc/init.d/mysqld start
# mysqladmin -u root password {MySQLのrootユーザパスワード}

# mysql -u root -p
Enter password: {MySQLのrootユーザパスワード}
> use mysql;
> delete from user where user='';
> delete from user where password='';
> drop database test;
> flush privileges;
> exit



4. MySQLのユーザ・パスワード・データベース登録
(例) ユーザ:hoge , パスワード:pass , データベース名:bar

# mysql -u root -p
Enter password: {MySQLのrootユーザパスワード}
> create database bar;
> grant all on bar.* to hoge identified by 'pass';
> flush privileges;
> exit