- 追加された行はこの色です。
- 削除された行はこの色です。
*MySQL [#d6256ed2]
[[MySQL:+http://dev.mysql.com/]]
[[mariaDB:+https://mariadb.org/]]
MySQL vs mariaDBが続いているけれど、ぶっちゃけ中身はほぼ同じなのでどっちでも良い。
一応、mariaDBの方が高機能らしいが殆ど変わらないと思う。
MySQL5.5から&font(b){./configureではなく、cmakeを使う};ようになった。
~
*インストール [#u7d6d771]
&size(16){&font(b){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のオフィシャル>+http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.7/en/source-configuration-options.html]]に書いてある
~
&size(16){&font(b){2. MySQLの設定・起動準備};};
&font(b){&color(#ff0000){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
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --ldata=/var/mysql
~
&size(16){&font(b){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
~
&size(16){&font(b){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