mac을 쓰다보면, .DS_Store파일이 생기게 된다.

Mac의 메타정보를 저장하는 파일이라고 하는데 없어도 상관없고, 

일일이 지우는 것도 귀찮으니, 아예 생성하지 않도록 설정할 수 있다.

 

터미널에서 아래와 같이 입력한 뒤, 재시작한다.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

 

참고 : https://support.apple.com/en-us/HT1629

apache + tomcat 연동방법

  • tomcat connector 설치
  • /etc/httpd/moduels/mod_jk.so 파일 생성 확인
  • vi /etc/httpd/conf/httpd.conf
    • LoadModule jk_module modules/mod_jk.so
    • Include conf/mod_jk.conf
  • vi /etc/httpd/conf/mod_jk.conf

    <IfModule mod_jk.c>
            JkWorkersFile "/etc/httpd/conf/workers.properties"
            JkLogFile "/etc/httpd/logs/mod_jk.log"
            JkLogLevel info
            JkAutoAlias "/home/paralles/Dev/tomcat/webapps"
            JkMount /*.jsp worker1
            JkUnMount /*.html worker1
            JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
    </IfModule>
    
  • vi /etc/httpd/conf/workers.properties

    worker.list = worker1
    worker.worker1.type=ajp13
    worker.worker1.host=localhost
    worker.worker1.port=8009



JIRA와 TestLink를 연동하는 방법을 아래에 기술한다.

JIRA 설정
1. Administration > Global Settings 하위의 General Configuration > Options 에서 Accept remote API calls 를 ON으로 설정한다.
2. JIRA RPC Plugin 을 설치한다.

TestLink 설정
1. config.inc.php 와 Custom_config.inc.php 파일에 $g_interface_bugs = 'JIRASOAP'; 로 설정
2. jirasoap.cfg.php 파일을 아래와 같이 수정
/** The Username being used by JIRA logon */
define('BUG_TRACK_USERNAME', 'jirauser');
 
/** The Password being used by JIRA logon*/
define('BUG_TRACK_PASSWORD', 'jirapassword');
 
/** link of the web server for JIRA*/
define('BUG_TRACK_HREF',"http://192.168.1.22:8080/");
 
* The values here are relative to the BUG_TRACK_HREF property *
 
/** path of JIRA WSDL */
define('BUG_TRACK_SOAP_HREF', "rpc/soap/jirasoapservice-v2?wsdl");
/** link of the web server for jira ticket*/
define('BUG_TRACK_SHOW_BUG_HREF', "browse/");
/** link of the web server for creating new jira ticket*/
define('BUG_TRACK_ENTER_BUG_HREF',"secure/CreateIssue.jspa");



http://www.tpc.org/tpce/
물론 위 링크에서 EGen을 다운 받아서 수행하면 될 것 같지만, 여러가지 문제점이 많이 발생하는 관계로, Lauchpad Percona-tools project에서 tpcemysql 을 다운 받는다.

이는 물론 TPC-E like한 것 뿐이라서 동일하지는 않지만, 같은 database구조로 같은 query를 날리는 것 같다.

우선 linux에서 bzr 이 설치 되어 있는지 확인하고, 안되어 있으면 설치한다.
# yum install bzr

이 후 bzr 을 이용해 Lauchpad Percona-tools project에서 tpcemysql을 다운 받는다.
# bzr branch lp:~percona-dev/perconatools/tpcemysql

mysqltpce를 수행하기에 앞서서 unixODBC, unixODBC-devel package와 make를 위해 gcc-c++ package가 설치되어 있어야 하므로, 기설치여부를 확인하고 설치한다.
# yum install unixODBC, unixODBC-devel, gcc-c++

다운받은 tpcemysql의 prj 디렉토리로 이동하면 Makefile이 존재한다. 그 곳에서 make를 수행한다.
# cd tpcemysql/prj
# make

make를 수행하기 전에 혹시 64bit 머신이라면 Makefile의 옵션을 수정해본다.(아직 이 옵션에 대한 의미가 확실치 않음)
  # Defines for Linux (MySQL C API Wrapper)
  CXX=g++
! CCFLAGS=-g -O2 -Wall -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -I/usr/include/mysql -DMYSQL_ODBC -DODBC_WRAPPER -DUSE_PREPARE
  LDFLAGS=-g -O2 -Wall
  LIBS=-lpthread -lmysqlclient_r
--- 23,29 ----
  # Defines for Linux (MySQL C API Wrapper)
  CXX=g++
! CCFLAGS=-g -O2 -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -I/usr/include/mysql -DMYSQL_ODBC -DODBC_WRAPPER -DUSE_PREPARE
  LDFLAGS=-g -O2 -Wall
  LIBS=-lpthread -lmysqlclient_r

make가 성공적으로  완료되면 tpcemysql의 bin디렉토리에 3개의 파일이 생성되어 있을 것이다.
* EGenLoader, EGenSimpleTest, EGenValidate

tpcemysql 홈디렉토리에서 아래와 같이 수행한다. (꼭 홈디렉토리에서.. 아니라면 flat_in, flat_out옵션을 따로 주어야 함)
# ./bin/EGenLoader -c 1000 -t 1000 -w 3

사실 이정도로 옵션을 주고 데이터를 생성하는 것은 TPC-E specification 에 비해서 너무 작다. 하지만, EGenLoader의 default값으로 수행하면 하루 죙일.. 걸리는 것 같다. 동작을 확인하기 위해서 우선 작은 값으로 수행하는 것을 알아두자.

그 다음, tpcemysql/script/mysql 디렉토리로 이동하여 해당 query들을 수행하자. 수행하기전, database와 user를 생성해 두는 것은 잊지 말자.
# mysql -u root -p
# create database tpce;
# grant all privileges on tpce.* to 'tpce'@'localhost' identified by 'tpce';
# flush privileges;

# cd tpcemysql/script/mysql
# mysql -u tpce -p tpce < 1_creat_table.sql
# mysql -u tpce -p tpce < 2_load_data.sql
# mysql -u tpce -p tpce < 3_create_fk.sql
# mysql -u tpce -p tpce < 4_create_index.sql
# mysql -u tpce -p tpce < 5_create_sequence.sql

query까지 수행하였다면, 이젠 EGenSimpleTest를 이용해서 테스트 하기만 하면 된다.
# ./bin/EGenSimpleTest -S localhost -D tpce -d 30 -t 180 -r 60 -u 8


참고 URL :
http://d.hatena.ne.jp/sh2/20100510
http://www.tpc.org/tpce/
http://www.mysqlperformanceblog.com/?s=tpc+e

'System > MySQL' 카테고리의 다른 글

mysql 기본 명령어 정리  (0) 2011.03.30

데이터 베이스 접속시
# mysql --user=root -p 
Enter password :

# mysql -u root -p
Enter password :

MySQL 설치한 직후 root 계정에 password 변경
# mysqladmin -u root password 새비밀번호

# mysql -u root mysql
  mysql> update user set password=password('새비밀번호') where user='root';
  mysql> flush privileges;

사용자 추가
mysql> grant all privileges on dbname.* to 'username'@'localhost' identified by 'password';
mysql> flush privileges;

사용자 삭제
mysql> delete from user where user='username';
mysql> flush privileges;

데이터베이스 생성
mysql> create database dbname;

존재하는 데이터베이스 목록 보기
mysql> show databases;

특정 데이터베이스 사용하기
mysql> user dbname;

데이터베이스 삭제
mysql> drop database dbname;

테이블 생성 예제
mysql> create table tablename ( column_name1 int, column_name2 varchar(20) );

현재 데이터베이스에서 존재하는 테이블 목록 보기
mysql> show tables;

테이블 구조 보기
mysql> explain tablesname;
mysql> describe tablename;

테이블 삭제
mysql> drop table tablename;

현재상태보기
mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.10, for Win64 (x86)
Connection id:          156
Current database:
Current user:           user@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.5.10 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
TCP port:               3306
Uptime:                 2 hours 18 min 59 sec
Threads: 1  Questions: 23798  Slow queries: 6  Opens: 188  Flush tables: 1  Open  tables: 0  Queries per second avg: 2.853
--------------

사용자 추가
mysql> grant all on *.* to 'username'@'localhost' identified by 'password';
mysql> grant all on dbname.* to 'username'@'localhost' identified by 'password';
mysql> flush privileges;

mysql 원격접속 설정
mysql> grant all privileges on dbname.* to 'username'@'접속ip' identified by 'password';
mysql> flush privileges;

'System > MySQL' 카테고리의 다른 글

mysql에서 tpc-e 테스트 하기  (0) 2011.05.03

사내에서 JIRA를 관리하고 있는데, 반복되는 백업/복구 작업 때문에, 자주 Plugin설치를 하게 된다. JIRA나 Confluenc는 백업/복구시에 Plugin까지 복구해주지 않는 것 같다.

따라서, 유용한 Plugin 목록들을 정리해둔다.

유용한 Plugin 목록
  1. Universal Plugin Manager Plugin : JIRA Plugin 관리를 용이하게 해준다. JIRA 4.3 부터는 기본으로 포함되어 있다.
  2. JIRA Linker Plugin : Confluence Link Custom Field를 생성하게 해주고, Confluence Search를 JIRA에서 할 수 있다.
  3. JIRA Subversion Plugin : Subversion과 JIRA의 연동. Commit시 JIRA-Issue번호를 적어주면 된다.
  4. JIRA Gantt Chart Plugin : JIRA Issue의 진행 일정을 Gantt Chart에서 표현해준다. 조금 아쉬운 기능.
  5. Marvelution JIRA Sonar Plugin : JIRA 와 Sonar 의 연동.
  6. JIRA Drag and Drop Attachment Plugin : Attachment를 붙일때, D&D로도 가능하게 해준다.
  7. CustomWare JIRA Utilities : 몇몇의 Custom Field를 추가할 수 있게 해준다. 아직 기능을 다 파악 못했다.
  8. JIRA Calendar Plugin : JIRA Issue의 date(update, create, resolved..)를 기준으로 calendar에 표시해주는 기능을 제공한다
  9. JIRA Charting Plugin : 추가 Chart 및 Report 제공.
  10. JIRA Commit Acceptace Plugin : Commit시 제약을 걸 수 있는 듯. 아직 파악을 못함.
  11. JIRA Workflow Designer : Workflow를 그래픽하게 디자인 할 수 있도록 제공하는 기능. 한번 써봤는데, 에러났다.;;
  12. Marvelution JIRA Hudson Plugin : JIRA와 Hudson의 연동.
  13. JIRA Labels Plugin : Label Custom Field를 생성할 수 있고, 이를 통해 빠른 검색이 가능하다. JIRA 4.2 버전부터는 기본 포함되어 있다.
  14. GreenHopper(Commercial)
  15. Tempo(Commercial)

Plugin 설치 방법 (UPM으로 설치 되지 않는 Plugins)


  • JIRA Subversion Plugin
      1. 다운로드 받은 jar파일의 lib디렉토리에 있는 *.jar를 JIRA의 WEB-INF/lib 디렉토리로 copy한다.
      2. 다운로드 받은 jar파일안의 subversion-jira-plugin.properties 파일을 JIRA의 WEB-INF/classes 디렉토리로 copy한다.
      3. JIRA의 WEB-INF/classes디렉토리의 jira-application.priperties를 열어서 jira.options.ignore.url.with.key값을 false로 설정한다.
      4. Administration탭의 subversion repositories에서 svn연결을 설정한다.
    • reference : https://studio.plugins.atlassian.com/wiki/display/SVN/Subversion+JIRA+plugin

  • JIRA Linker Plugin
      1. JIRA의 WEB-INF/lib 디렉토리에 jar를 copy하거나 Universal Plugin Manager를 통해 Confluence Linker Plugin을 install한다.
      2. JIRA의 images/icons 디렉토리에 search_16.png를 copy해 둔다.
      3. JIRA의 WEB-INF/classes 디렉토리에 atlassian-jira-linker-plugin.properties 파일을 생성하여 아래와 같이 내용을 추가하고 copy해 둔다.
      4. Confluence의 General Configuration에서 Anonymous Remote API Access 설정을 Enable시켜놓는다.
      5. Confluence의 Globel Permission에서 Anonymous user access를 할 수 있게 설정해둔다.
      6. Confluence의 link를 원하는 space에 anonymous view access를 허용하도록 한다.
      7. Restart JIRA.
      8. JIRA Admin권한으로 Custom Fields > Add a new custom field > URL Link Field 선택 하여 Field추가한다.
      9. You're done!
    • reference : https://studio.plugins.atlassian.com/wiki/display/JLINK/Home

  • JIRA Commit Acceptance Plugin
    • Server Installation
      1. jira-commitacceptance-plugin-xxx.jar 를 JIRA의 WEB-INF/lib 디렉토리로 copy한다.
      2. Administration 탭의 General Configuration에서 enable JIRA remote API calls를 enable해놔야 한다.
      3. restart JIRA
    • Client Installation ( Perl, Subversion )
      1. Perl, Python 버전의 script 묶음이 있는데, 적절한 버전과 version control client를 선택하면 된다. (ex. perl, subversion)
      2. Subversion client는 pre-commit hook으로 구현되어 있다.
      3. jira-client.pl과 pre-commit.bat를 Subversion Repository Home의 hooks 디렉토리로 copy한다.
      4. pre-commit.bat 에 perl interpreter full path와 jira-client.pl의 full path를 적어준다.
      5. jira-client.pl에 jira access setting(URL, username, password, JIRA project key)내용을 적고, svnlook pull path도 적어둔다.
    • reference : https://studio.plugins.atlassian.com/wiki/display/CMMT/JIRA+Commit+Acceptance;jsessionid=FC08278D5E18EAED1DA3AA61CBA81B3B
  • Marvelution JIRA Sonar Plugin
      1. Shutdown jira server
      2. jira-sonar-plugin-xxx.jar 를 JIRA HOME의 plugin에 copy한다.
      3. start jira server
  • Marvelution JIRA Hudson Plugin

사내에서 사용하는 Confluence (3.4.2버전) 의 Calendar Plugin이 드디어 나왔다.

관련 링크 : https://plugins.atlassian.com/plugin/details/153?versionId=21689

그동안 낮은 버전밖에 지원하지 않아서,
Calendar plugin을 설치되지 않는 최신 버전의 설치까지 망설였을 정도였는데,
간만에 검색해보니 최신버전이 어느샌가 나와있었던 것이다.

Universal Plugin Manager에서 Install 버튼을 누르는 순간. 에러가 발생하였다.
log를 뒤져보니..
아래와 같은 로그가 찍혀있었다.

중략..
Caused by: net.sf.hibernate.exception.GenericJDBCException: could not insert: [com.atlassian.confluence.plugin.persistence.PluginData#3866628]
        at net.sf.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:90)
        at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:79)
        at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
        at net.sf.hibernate.persister.AbstractEntityPersister.convert(AbstractEntityPersister.java:1331)
        at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:472)
        at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:436)
        at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:37)
        at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2447)
        at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2433)
        at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2390)
        at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2259)
        at com.atlassian.confluence.plugin.persistence.hibernate.HibernatePluginDataDao.saveOrUpdate(HibernatePluginDataDao.java:60)
        ... 121 more
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1141938 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3250)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1940)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2693)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2102)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2395)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2313)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2298)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
        at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
        at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:462)
        ... 128 more

뭐.. 그래도 간단히 해결할 수 있는 문제다.
MySQL 의 max_allowed_packet 설정을 변경하자.

shell> mysqld --max_allowed_packet=32M

관련 링크 : http://confluence.atlassian.com/display/CONFKB/Getting+PacketTooBigException+Error+%27Packet+for+query+is+too+large%27

'System > JIRA, Confluence' 카테고리의 다른 글

JIRA와 TestLink 연동하기  (0) 2011.08.25
JIRA Plugin관리  (0) 2011.03.24

1. SVN 설치
[root@linux ~]# yum install -y subversion

2. SVN 사용자 추가
[root@linux ~]# adduser svn
[root@linux ~]# passwd svn
Changing password for user svn.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

3. 저장소(Repository) 만들기
[root@linux ~]# svnadmin create --fs-type fsfs /home/svn/testRepos
[root@linux ~]# chown -R svn svn:svn /home/svn/testRepos

4. svn configuration
[root@linux ~]# vi /home/svn/testRepos/conf/svnserve.conf
---------------------------------------------------------------------------------------------
anon-access = read
auth-access = write
password-db = passwd

[root@linux ~]# vi /home/svn/testRepos/conf/passwd
---------------------------------------------------------------------------------------------
# username = password 식으로 작성
chigon = chigon

5. svn 기동
[root@linux ~]# svnserve -d -r /home/svn/

+ Recent posts