前提
centos6
mysql5.5
まず、mysql5.5を入れる。
【シンプル】CentOS6にMySQL5.5をyumで簡単にインストールする手順 | 田舎に住みたいエンジニアの日記
最初5.6を入れてすすめていたが、5.1から5.6への移行は推奨されないというのを見て、嫌な予感がして5.5にすることにした。
MySQL 5.1→5.6のmy.cnfの差分とか - (ひ)メモ
service mysqld start で起動するとエラー
これの2と3で解決
[Web] さくらVPSでのメンテナンスについて: ものづくりログ
いくつかのサーバはなぜかさらに別のエラーがでて起動できなかった(復旧にコケたみたいなエラーだった)。エラーログでググってもあまりHITしなかったので、MySQLを初期化する方法を試してみたらすんなりいった。
MySQLのデータベースを初期化する - Qiita
-
- 休憩 --
メイン
新規のサーバでセットアップ の節
現場指向のレプリケーション詳説
図9のところはmysqlのバージョンのせいか、できなかった
[mysqld]
server-id=11
master-host=mymaster
master-user=repl
master-password=qa55wd
ので、そこだけ、こちらの手順でやる。
MYSQLレプリケーション設定 - エーエイチレフ linuxサーバー技術情報
# slaveのmysqlにログイン
CHANGE MASTER TO
MASTER_HOST='マスターのIPアドレス',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=189;
で、これをmysqlに打ち込んだあとにさらに下を打つと、ようやくレプリケーションが始まる。
mysql> START SLAVE;
Query OK, 0 rows affected, 1 warning (0.00 sec)
MySQL 5.5 Server as Replication Slave « Code-Kolbold Code Talk
最初は権限の問題でうまくいかなかった
とりあえずすべて接続元からを許可するように「%」とするとうまくいった。(TODO:後から調べる!)
図4’
mysql> GRANT REPLICATION SLAVE ON *.* TO repl@'%' IDENTIFIED BY 'qa55wd';
からの、glassfishからconnection poolして利用
まずは、管理画面でconnection poolの作成
GlassFish v3.1.2.2でのMySQL/JDBC設定
java sourceからの利用
Connection con = null; try { DataSource source = (DataSource)new InitialContext().lookup("jdbc/mysql1"); con = source.getConnection(); // 接続を使用する System.out.println("connection is successs."); try { Statement stmt = (Statement) con.createStatement(); ResultSet rs = stmt.executeQuery("select * from aaa limit 2"); while(rs.next()){ Integer no = rs.getInt("id"); String eid = rs.getString("name"); System.out.println(id+" : " + name); } } catch (SQLException ex) { Logger.getLogger(GenericResource.class.getName()).log(Level.SEVERE, null, ex); } } catch (SQLException e) { // エラーのログを取る Logger.getLogger(GenericResource.class.getName()).log(Level.SEVERE, null, e); } catch (NamingException e) { // JNDI内にDataSourceが見つからない System.out.println("JNDI内にDataSourceが見つからない"); } finally { if (con != null) { try { con.close(); } catch (SQLException e) {} } }