ロボットの実行ログを登録するためのDB(RoboServer Log Database)のセットアップ方法について解説します。
ここではCentOS6.5にMySQL5.6をインストールする例を示します。
CentOS の標準リポジトリからインストールできる MySQL は未だに 5.1 系です。 MySQLは 5.5 以降でかなりの機能向上と高速化がされているため、ここではMySQLの公式 yum リポジトリを登録した上で、インストール・セットアップを行います。
MySQL :: Download MySQL Yum Repository
http://dev.mysql.com/downloads/repo/
使用するレポジトリはインストール先のOSに応じて、上記リンク先より指定してください。
[bizrobo@180037139152 localhost]$ su
パスワード:
[root@180037139152 localhost]# yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
:
[root@180037139152 localhost]# cat /etc/yum.repos.d/mysql-community.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Note: MySQL 5.7 is currently in development. For use at your own risk.
# Please read with sub pages: https://dev.mysql.com/doc/relnotes/mysql/5.7/en/
[mysql57-community-dmr]
name=MySQL 5.7 Community Server Development Milestone Release
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
MySQLのインストール
[root@180037139152 localhost]# yum -y install mysql-community-server
:
MySQLのConfigファイル設定
[bizrobo@180037139152 ~]$ sudo vi /etc/my.cnf
#2014.06.10.bizrobo
[mysql]
default-character-set=utf8
[mysqld]
#
:
# 2014.06.10.bizrobo
character-set-server=utf8
event_scheduler=ON
# 2014.05.10.bizrobo DBに登録できるデータのサイズ上限設定。
# MCのレポジトリにExcelファイルなどサイズの大きいファイルを登録する場合やSnapshotをDBに設定する場合
max_allowed_packet=16M
MySQLの自動起動設定
[root@180037139152 localhost]# chkconfig --list mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@180037139152 localhost]# chkconfig mysqld on
[root@180037139152 localhost]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQLサービスの起動
[root@180037139152 localhost]# service mysqld start
:
MySQLの初期設定
[root@180037139152 localhost]# mysql_secure_installation
:
Enter current password for root (enter for none):
OK, successfully used password, moving on...
:
Set root password? [Y/n] y
New password:
Re-enter new password:
:
Remove anonymous users? [Y/n] y
:
Disallow root login remotely? [Y/n] y
:
Remove test database and access to it? [Y/n] y
:
Reload privilege tables now? [Y/n] y
:
MySQLにログインし、my.cnfで指定した文字コードが反映されていることを確認します。
その後、kapow利用ユーザの作成(権限付与)を実施します。
[root@180037139152 localhost]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.6.19 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
### 権限を付与してユーザを作成(各権限の意味はWebで要確認)
mysql> grant select, insert, delete, update, create, drop, file, alter, event, index, create temporary tables, alter routine, create routine, execute on *.* to kapow identified by '********' ;
Query OK, 0 rows affected (0.00 sec)
### 設定した権限の反映
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
iptablesの設定確認と追加
- Postfixのパケットを通すように、FWの設定を行います。
- iptable(サーバ内FW)の他、場合によってはデータセンタ側のFWを設定する必要もあります。
[bizrobo@server ~]$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- 198.18.0.24 anywhere
ACCEPT icmp -- 198.18.0.25 anywhere
ACCEPT tcp -- 198.18.0.24 anywhere state NEW tcp dpts:tcpmux:65535
ACCEPT tcp -- 198.18.0.25 anywhere state NEW tcp dpts:tcpmux:65535
ACCEPT udp -- 198.18.0.24 anywhere state NEW udp dpts:tcpmux:65535
ACCEPT udp -- 198.18.0.25 anywhere state NEW udp dpts:tcpmux:65535
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
<省略>
[bizrobo@server ~]$ sudo iptables -I INPUT 11 -p tcp --dport 3306 -j ACCEPT
[bizrobo@server ~]$ sudo iptables -L
Chain INPUT (policy DROP)
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- 198.18.0.24 anywhere
ACCEPT icmp -- 198.18.0.25 anywhere
ACCEPT tcp -- 198.18.0.24 anywhere state NEW tcp dpts:tcpmux:65535
ACCEPT tcp -- 198.18.0.25 anywhere state NEW tcp dpts:tcpmux:65535
ACCEPT udp -- 198.18.0.24 anywhere state NEW udp dpts:tcpmux:65535
ACCEPT udp -- 198.18.0.25 anywhere state NEW udp dpts:tcpmux:65535
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
<省略>
iptablesの設定情報の保存とリブート