#author("2019-04-18T22:22:09+09:00","","")
#author("2019-09-26T13:55:08+09:00","","")
* 目次 [#u4b47691]
#contents

* データベース用サーバ(MONSTER-HY)について [#c57eedb4]
本マシンは、ラップトップでは扱えないような巨大なデータを扱うことを目的に設置したデータベース用サーバです。~
Dockerを使って、ユーザごとに別々のデータベースサーバを立てるので、各ユーザはそれぞれが所有するデータベースに関するすべての権限を持っており、所有しているデータベースを好き勝手に操作できます。間違って他人のデータベースを触ってしまうようなことはありません。~
だれでも利用可能ですが、事前にユーザ登録が必要です。

** サポートしているデータベースサーバ [#g2236c59]
- MySQL
他のデータベースサーバを立てたい場合(MongoDB等)は本ページの一番下にある管理者に連絡してください。

** マシンスペック [#fb848056]
- OS: Ubuntu 18.04 LTS
- CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz(コア数: 4, スレッド数: 8)
- メモリ: 32GB(8GB×4)
- ディスク容量: 8TB
- ネットワーク
-- ホスト名: oss24.sys.wakayama-u.ac.jp
-- IPアドレス: 133.42.145.219
-- ホスト名: floss1.sys.wakayama-u.ac.jp
-- IPアドレス: 133.42.75.203

* 利用にあたっての注意 [#t900e3c0]
※編集中
複数人で利用するので、他の人のデータやプロセスに注意してください。~
動作が遅かったりしたら、topコマンドでload averageを確認してみてください。~
他の人のプロセスが動作している場合があります。~
このサーバはあくまでデータベース用ですので、データを用いた計算などは、別のマシンでやるようにしてください。~
また、念のため、重要なデータは各自でバックアップを取るようにしてください。~
サーバ内のデータの消失などに関して、サーバ管理者は一切の責任を負いません。~

* 利用するには [#f8d9913c]
本マシンのデータベースを利用するためには、システムへのユーザ登録と、データベースサーバの用意が必要です。

** システムへのユーザ登録 [#fb4ec4f9]
管理者に連絡してください。

** データベースサーバの用意 [#b5215949]
管理者に連絡してください。~
MySQLサーバを立てるのは準備ができていますが、ほかのデータベースサーバは準備していません。環境を整えるのに少し時間がかかるかもしれません。

* MySQLサーバへの接続方法 [#e95f7a58]

** 研究室内WiFi(FLOSS)または学内ネットワーク(airo等)からの接続 [#c1378c5a] 
IPアドレス: 133.42.145.219~
ポート番号: 3306 + システムの自分のUID(例: horiguchiのUIDは1001なので、ポート番号は4307、自分のUIDはidコマンドでわかります)~
データベースのユーザ名: MySQLサーバを立てるときに設定したユーザ名(おそらく初回はroot)~
データベースのパスワード: MySQLサーバを立てるときに設定したパスワード~
これらのサーバの設定情報を基に、以下のコマンドを実行します。~
LEFT: $ mysql -u [データベースのユーザ名] -p -P [ポート番号]
 Enter password: [データベースのパスワード]

** 学外(自宅など)からの接続 [#jf0b60ac]
あらかじめ、SSH接続ができるように設定しておく必要があります。~
詳しくは下に書いてある「SSH接続方法」の「学外(自宅など)からの接続」を確認してください。~
SSH接続ができるようにしたうえで、SSHのポートフォワーディング機能を使う必要があります。~
以下のコマンドを、学外のネットワークから実行してください。~
このコマンドは、ネットワーク接続がリセットされるたびに実行する必要があります。~
LEFT: $ ssh [sXXXXXX(自分のユーザ名)]@com.wakayama-u.ac.jp -fNL [ローカルホストにバインドする任意のポート番号]:133.42.145.219:[MySQLサーバのポート番号]
このコマンドを実行したうえで、以下のコマンドを実行します。
LEFT: $ mysql -u [データベースのユーザ名] -p -P [ローカルホストにバインドされた任意のポート番号]
 Enter password: [データベースのパスワード]

* SSH接続方法 [#s5311984]

** 研究室内WiFi(FLOSS)または学内ネットワーク(airo等)からの接続 [#c1378c5a]
以下のコマンドで接続できます。~
LEFT: $ ssh [ユーザ名]@133.42.145.219

** 学外(自宅など)からの接続 [#jf0b60ac]
あらかじめ、SSH接続ができるように設定しておく必要があります。~
学内から、下記URLにアクセスし、公開鍵の設定をしてください。~
http://www.wakayama-u.ac.jp/limited/aic/sv/com~
この設定ができると、学外から共有Linuxサーバ(com.wakayama-u.ac.jp)に接続できるようになります。~
このサーバを踏み台にして、研究室内のデータベース用サーバにssh接続します。~
LEFT: (自分のPCのシェル) $ ssh [共有Linuxサーバのユーザ名(sXXXXXX)]@com.wakayama-u.ac.jp
 (共有Linuxサーバのシェル) $ ssh [データベース用サーバのユーザ名]@133.42.145.219
 (データベース用サーバのシェル) $ [これで接続完了]

* Tips [#rb3848cd]
** MySQLのデータのインポートが遅い [#pe82aa68]
整形されて、整合性のチェックが必要ないデータをインポートする場合に限り、~
いくつかのチェック機能を無効にしたり、バッファサイズを増やしたりして、~
データのインポートをにかかる時間を短くできる。
LEFT: SET foreign_key_checks = 0;
 SET unique_checks = 0;
 SET autocommit = 0;
 SET sql_log_bin = OFF;
 SET GLOBAL innodb_flush_log_at_trx_commit = 0;
 SET GLOBAL innodb_flush_log_at_trx_commit = 1;
 SET GLOBAL innodb_buffer_pool_size = 2047 * 1000 * 1000;

** サーバが遅い [#t7bade5f]
topコマンド

** ターミナルを閉じた後も処理を続けさせたい [#u451941f]
サーバ上でデータベース用のファイルのダウンロードをする際や、クローラ、その他計算処理をする場合、ターミナルを閉じた後も継続してプロセスを動かしたいですよね。~
そんなときは、nohupコマンドを使います。~
LEFT: $ nohup [ターミナルを閉じた後も継続して動かしたいコマンド] &
標準出力と標準エラー出力がnohup.outファイルに書き出されるので、このファイルをtailすれば、コマンドの実行状況がわかります。~
また、コマンドが実行中の場合、以下のコマンドを使えば表示されます。~
LEFT $ ps x


* 管理者 [#g67f4074]
堀口日向 s216332@wakayama-u.ac.jp

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS