캠핑과 개발


다운 : http://www.mysql.com/downloads/mysql/5.1.html#downloads

Compressed TAR Archive 다운

1. mysql 사용자 등록
설치를 하기전에 mysql 을 실행할때 (./mysql_safe &)  mysqld 데몬을 실행할 mysql 이라는 사용자를 생성하여야 한다.

[root@localhost bin]# groupadd mysql
[root@localhost bin]# useradd -g mysql mysql -M

순서는 group 먼저 생성후 user 생성...
-M 옵션은 사용자 홈디렉토리를 만들지 않겠다는것


2. configure
[root@localhost mysql-5.1.57]# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --enable-shared --with-mysqld-user="mysql" --with-charset=utf8
.
.
.
.
Thank you for choosing MySQL!

Remember to check the platform specific part of the reference manual
for hints about installing MySQL on your platform.
Also have a look at the files in the Docs directory.

[root@localhost mysql-5.1.57]#
./configure 시 옵션에대하여 살펴 보면...

--prefix=/usr/local/mysql
설치될 경로

--localstatedir=/usr/local/mysql/data
 mysql의 DB data 저장될 위치를 지정, 디폴트 설정은 /usr/local/var

--enable-shared
shared 옵션을 사용하는 것으로 지정.

--with-mysqld-user="mysql"
mysql을 실행할 계정명 지정. mysql로 지정함.

--with-charset=euckr
한글을 지원하기 위한 문자셋을 지정함.

--with-raid
raid를 지원하게 컴파일 함.

--with-openssl-includes= openssl_헤드위치지정     
openssl을 지원하기 위한 옵션 지정

--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
소켓관련 패스 재설정

--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
컴파일 옵션으로 'CXX=gcc'를 사용할 때 오류를 피하기 위해 공유 라이브러리를 사용하지 않음


CC=gcc CXX=gcc ./configure
'libg++' or `libstdc++' 없이 gcc만으로 컴파일을 한다.


이외에도 더 많은 옵션이 있다...

--prefix=/usr/local/mysql
--localstatedir=/usr/local/mysql/data
--enable-shared
--with-mysqld-user="mysql"
--with-charset=utf8

이정도만 지정해도 기본적으로 사용이 가능한 모양임...

3. make를 통한 컴파일

[root@localhost mysql-5.1.57]# make

컴파일러 (여기에서는 gcc) 가 설치 되어있지 않으면 당연하게도 컴파일이 안된다.
컴파일러가 설치 되어있는지 확인하고 make 해준다.


4. make install로 컴파일된 바이너리 파일을 설치/복사 하여준다.
[root@localhost mysql-5.1.57]# make install

configure -> make -> make install 을 통해서 mysql 의 설치가 되었다.


5. mysql을 관리하는 mysql system table 생성
configure 에서 --localstatedir=/usr/local/mysql/data  라고 경로를 지정했으므로 요 위치에  mysql 과 test 라는 db가 생성된다.
[root@localhost bin]# pwd
/usr/local/mysql/bin
[root@localhost bin]# ls -al
합계 16516
drwxr-xr-x  2 root root    4096 2011-05-10 16:10 .
drwxr-xr-x 10 root root    4096 2011-05-10 16:11 ..
-rwxr-xr-x  1 root root   24544 2011-05-10 16:10 innochecksum
-rwxr-xr-x  1 root root    1424 2011-05-10 16:10 msql2mysql
-rwxr-xr-x  1 root root  791599 2011-05-10 16:10 my_print_defaults
-rwxr-xr-x  1 root root 2151481 2011-05-10 16:10 myisam_ftdump
-rwxr-xr-x  1 root root 2507505 2011-05-10 16:10 myisamchk
-rwxr-xr-x  1 root root 2188320 2011-05-10 16:10 myisamlog
-rwxr-xr-x  1 root root 2242622 2011-05-10 16:10 myisampack
-rwxr-xr-x  1 root root  637894 2011-05-10 16:10 mysql
-rwxr-xr-x  1 root root  793479 2011-05-10 16:10 mysql_client_test
-rwxr-xr-x  1 root root    6141 2011-05-10 16:10 mysql_config
-rwxr-xr-x  1 root root    4169 2011-05-10 16:10 mysql_convert_table_format
-rwxr-xr-x  1 root root    3245 2011-05-10 16:10 mysql_find_rows
-rwxr-xr-x  1 root root    1226 2011-05-10 16:10 mysql_fix_extensions
-rwxr-xr-x  1 root root    5894 2011-05-10 16:10 mysql_fix_privilege_tables
-rwxr-xr-x  1 root root   14362 2011-05-10 16:10 mysql_install_db
-rwxr-xr-x  1 root root    8033 2011-05-10 16:10 mysql_secure_installation
-rwxr-xr-x  1 root root   17438 2011-05-10 16:10 mysql_setpermission
-rwxr-xr-x  1 root root  688935 2011-05-10 16:10 mysql_tzinfo_to_sql
-rwxr-xr-x  1 root root   87453 2011-05-10 16:10 mysql_upgrade
-rwxr-xr-x  1 root root  392162 2011-05-10 16:10 mysql_waitpid
-rwxr-xr-x  1 root root    3818 2011-05-10 16:10 mysql_zap
-rwxr-xr-x  1 root root  111597 2011-05-10 16:10 mysqlaccess
-rwxr-xr-x  1 root root   39569 2011-05-10 16:10 mysqladmin
-rwxr-xr-x  1 root root  223719 2011-05-10 16:10 mysqlbinlog
-rwxr-xr-x  1 root root   10645 2011-05-10 16:10 mysqlbug
-rwxr-xr-x  1 root root   68840 2011-05-10 16:10 mysqlcheck
-rwxr-xr-x  1 root root   24162 2011-05-10 16:10 mysqld_multi
-rwxr-xr-x  1 root root   16772 2011-05-10 16:10 mysqld_safe
-rwxr-xr-x  1 root root  184007 2011-05-10 16:10 mysqldump
-rwxr-xr-x  1 root root    7351 2011-05-10 16:10 mysqldumpslow
-rwxr-xr-x  1 root root   32463 2011-05-10 16:10 mysqlhotcopy
-rwxr-xr-x  1 root root   61125 2011-05-10 16:10 mysqlimport
-rwxr-xr-x  1 root root   70042 2011-05-10 16:10 mysqlshow
-rwxr-xr-x  1 root root   98506 2011-05-10 16:10 mysqlslap
-rwxr-xr-x  1 root root  338120 2011-05-10 16:10 mysqltest
-rwxr-xr-x  1 root root  737505 2011-05-10 16:10 perror
-rwxr-xr-x  1 root root  756375 2011-05-10 16:10 replace
-rwxr-xr-x  1 root root  744052 2011-05-10 16:10 resolve_stack_dump
-rwxr-xr-x  1 root root  729755 2011-05-10 16:10 resolveip
[root@localhost bin]#

[root@localhost bin]# ./mysql_install_db
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

[root@localhost bin]#


6. msyql 실행
[root@localhost bin]# ./mysqld_safe &
[1] 11878
[root@localhost bin]# 110510 19:48:18 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
110510 19:48:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
110510 19:48:18 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended

[1]+  Done                    ./mysqld_safe
[root@localhost bin]#

마지막줄  mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended 에 주목!!

요메시지가 나오면 정상이 아닌거다!!!!

로그를 보면....

[root@localhost bin]# cd /usr/local/mysql/data/
[root@localhost data]# cat localhost.localdomain.err
110510 19:48:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
/usr/local/mysql/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
110510 19:48:18 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110510 19:48:18 [ERROR] /usr/local/mysql/libexec/mysqld: Can't create/write to file '/usr/local/mysql/data/localhost.localdomain.pid' (Errcode: 13)
110510 19:48:18 [ERROR] Can't start server: can't create PID file: Permission denied
110510 19:48:18 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended
[root@localhost data]#
빨간글씨에 주목...  /usr/local/mysql/data 이곳의 소유권이 root 이기 때문에 일어나는 문제...
앞서 말했듯이 mysql 은 특정 사용자명을 만들어서 (여기에서는 "mysql" 이라고 사용자 생성, 사용자생성과 configure 옵션 참조) 실행시키는데...
root 가 소유자인 data디렉토리에 db data 를 저장 하려고 하니 퍼미션에러가 나는것이다.
권한 변경보다는 소유자를 변경하는편이 보안상 좋다.

[root@localhost data]# chown -R mysql:mysql /usr/local/mysql/data

-R 은 하위 디렉토리 까지 권한을 변경하겠다는 뜻

[root@localhost bin]# ./mysqld_safe &
[1] 11935
[root@localhost bin]# 110510 19:54:18 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
110510 19:54:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

[root@localhost bin]#
[root@localhost bin]# ps -ef | grep mysqld
root     11935  2422  0 19:54 pts/0    00:00:00 /bin/sh ./mysqld_safe
mysql    11983 11935  0 19:54 pts/0    00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --log-error=/usr/local/mysql/data/localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
root     11987  2422  0 19:55 pts/0    00:00:00 grep --color=auto mysqld
[root@localhost bin]#


mysql 을 띄우고 프로세스 까지 확인!

7. 관리자 암호 설정
[root@localhost bin]# ./mysqladmin -u root password 12345
[root@localhost bin]#

8. mysql 접속
[root@localhost bin]#
[root@localhost bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.57 Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql>

종료 :
mysqladmin -uroot -p shutdown || kill mysqld

재시작 :
mysqld_safe & safe_mysqld &

동작 여부 :
ps -ef | grep mysql


[출처] http://pippen80.cafe24.com/269

'개발 > Database' 카테고리의 다른 글

Oracle Hint  (0) 2012.05.17
MySQL의 기본 설정 파일(my.cnf)의 위치 확인  (0) 2011.11.29
ORACLE 명령문  (0) 2011.08.02
MERGE INTO 사용법  (0) 2011.07.09
mysql 5.5 db 생성 및 사용자 권한 주기  (0) 2011.03.23

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx">
    
    <fx:Style>
        .backgroundImage {
            color: #808080;
            fontWeight: bold;
            fontSize: 18;
            fontStyle: italic;
            contentBackgroundColor: #FFFFFF ;
            backgroundImage: Embed(pattern_143.gif);
            backgroundImageFillMode: repeat;
            
        }
        
    </fx:Style>
    
    <s:BorderContainer width="100%" height="600" styleName="backgroundImage">
        <s:Label text="hai hai hai" />
    </s:BorderContainer>
    
</s:Application> 





     <s:BorderContainer width="100%" height="100%"
      backgroundImage="images/bkg/grey_grid.gif"
      backgroundImageFillMode="repeat"  > 

flex 3.x

html
<object id="paramTest" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
    <param name="movie" value="Example.swf" />
    <param name="flashVars" value="
type=typevar&name=namevar" />
        <object type="application/x-shockwave-flash"
                data="Example.swf" width="300" height="120"
                flashVars="type=typevar&name=namevar">
        </object>



flex
creationComplete="init()"
 

private function init():void{
    var type:String = Application.application.parameters.type as String;
    var name : String = Application.application.parameters.name as String;
}



flex 4.x 

html

var flashvars = {};

flashvars.type = "타입변수";
flashvars.name = "이름변수";


flex
creationComplete="init()"
 

private function init():void{
    var type:String = parameters.type as String;
   
var name : String = parameters.name as String;
}



flex 4.5

html

var flashvars = {};

flashvars.type = "타입변수";
flashvars.name = "이름변수";


flex
creationComplete="init()"
 

private function init():void{
    var type:String = FlexGlobals.topLevelApplication.parameters.type as String;
    var name : String = FlexGlobals.topLevelApplication.parameters.name as String;
}


 


-테이블 삭제
DROP TABEL [테이블명] CASCADE CONSTRAINT;

- 기본키 삭제
ALTER TABLE [테이블명] DROP PRIMARY KEY;

- 기본키 삭제
ALTER TABLE [테이블명] DROP PRIMARY KEY;

- 인덱스 삭제
DROP INDEX [인덱스명];

-제약조건 삭제
ALTER TABLE [테이블명] DROP CONSTRAINT [제약조건명] CASCADE;

- UNIQUE  생성
CREATE UNIQUE INDEX [UNIQUE 명] ON [테이블명]([컬럼명..]);

- 기본키 생성
ALTER TABLE [테이블명] ADD CONSTRAINT [기본키명] PRIMARY KEY(컬럼명)


- 휴지통 비우기
PURGE RECYCLEBIN;

- 테이블 완전 삭제 (휴지통에 저장되지 않음)
DROP TABLE [테이블명] CASCADE CONSTRAINT PURGE;

- 휴지통에 있는 테이블 복원
FLASHBACK TABLE [테이블명] TO BEFORE DROP;

- 컬럼명 변경
ALTER TABLE [테이블명] RENAME COLUMN [변경전 컬럼명] TO [변경후 컬럼명]

INSERT INTO [대상테이블]
SELECT * FROM [테이블]

- 임시 테이블 생성 후 데이터 복사
CREATE TABLE [임시 테이블명] AS SELECT * FROM [테이블명]


RENAME MI_DB_NSC_LDS_20110802 TO MI_DB_NSC_LDS;

'개발 > Database' 카테고리의 다른 글

MySQL의 기본 설정 파일(my.cnf)의 위치 확인  (0) 2011.11.29
mysql 소스 설치  (0) 2011.11.29
MERGE INTO 사용법  (0) 2011.07.09
mysql 5.5 db 생성 및 사용자 권한 주기  (0) 2011.03.23
오라클 모니터링 SQL  (0) 2011.02.25


/etc/ssh/sshd_config

#vi /etc/ssh/sshd_config

PermitRootLogin yes
Subsystem       sftp    /usr/lib/misc/sftp-server

# /etc/init.d/sshd restart

'개발 > Linux' 카테고리의 다른 글

ssh 접속 설정.  (0) 2011.11.29
linux 방화벽 열기  (0) 2011.11.29
linux 명령어 - nohup  (0) 2011.07.21
Linux IP 변경  (0) 2011.07.21
linux 명령어 - chmod  (0) 2011.07.21

리눅스를 사용하다 보면 shell 이나 프로그램들을 데몬처럼 계속 올려서 사용할 경우가 있다 
기본적으로 명령어 뒤에 & 를 붙혀 실행하면 백그라운드 프로세스로 실행되지만
ssh 접속을 끝거나 터미널을 종료하면 실행이 종료된다.
(bash 에 터미널이 끊겨도 종료안되게 하는 옵션도 있다고 함 shopt | grep huponexit로 확인가능 off 명 옵션이 적용안된거임)

그래서 nohup을 사용하면 shell이나 실행 파일을 데몬처럼 계속 실행하게 할수 있음


[사용법]
$ nohup run.sh &
(shell 파일 또는 실행 파일의 퍼미션이 755이어야 함)

$ ps -ef | grep [실행파일명]  으로 프로세스 확인가능
프로세스를 죽이려면 ps로 pid를 알고 
$ kill -9 [pid]  로 죽이면 됨

기본적으로 nohup을 실행하면 nohup.out의 로그파일이 남게 됨
이 파일명은 변경하여 사용가능

nohup /usr/local/java/bin/java -jar XDreamyi3shop.jar &

nohup -> 터미널에서 로그아웃을 해도 실행시킨 프로그램은 종료되지 않고 계속 돈다.
& -> 백그라운드 실행.. ps -aux를 치면.. 프로그램이 돌고 있음을 알 수 있다.


[출처] http://www.wakgu.com/category/2?page=4




'개발 > Linux' 카테고리의 다른 글

linux 방화벽 열기  (0) 2011.11.29
sftp root 계정 접속 설정  (0) 2011.07.27
Linux IP 변경  (0) 2011.07.21
linux 명령어 - chmod  (0) 2011.07.21
[명령어] service 방화벽 상태 및 설정  (0) 2011.05.25

Linux IP 변경

개발/Linux2011. 7. 21. 13:44
vi /etc/sysconfig/network-scripts 
ifcfg-eth0 선택 
IPADDR=xxx.xxx.xxx.xxx 부분 변경저장 
service network restart

'개발 > Linux' 카테고리의 다른 글

sftp root 계정 접속 설정  (0) 2011.07.27
linux 명령어 - nohup  (0) 2011.07.21
linux 명령어 - chmod  (0) 2011.07.21
[명령어] service 방화벽 상태 및 설정  (0) 2011.05.25
[명령어] history 이전에 실행된 명령어 출력  (0) 2011.05.25

chmod 751 폴더

앞에 7은 소유자권한부분
중간 자리의 5는 그룹소속자권한
마지막 자리의 1은 일반다른사용자권한 부분


* 표시되는 퍼미션
0   ---   아무런 권한이 없음
1   --x   실행(eXecution)권한만 있음
2   -w-  쓰기(Write) 권한만 있음
3   -wx  쓰기와 실행의 권한만 있음
4   r--    읽기(read)권한만 있음
5   r-x    읽기와 실행권한만 있음
6   rw-   읽기와 쓰기 권한만 있음
7   rwx   읽기, 쓰기, 실행 권한이 있음

숫자로 하지 않고..
문자열로 권한을 줄 수 있다.

u : 소유자(user)를 의미함
g : 그룹(group)를 의미함
o : 다른사용자(other)를 의미함
a : 모두(all)를 의미함 (Default)

예 : chomd o+rw a_file  <-- 이건은 다른 사용자에게 읽기와 쓰기의 권한을 준것임.
여기서 + 의 기호의 의미는 권한을 부여한다는 의미이며..
- 의 의미는 권한을 제거한다는 의미가 된다.

ex) chomd a+r testfile  <-- testfile 파일의 권한을 모든 사용자가 읽기를 가능하겠다는 의미.
ex) chomd a+rx testfile  <-- testfile 파일의 권한을 모든 사용자가 읽기와 실행이 가능하겠다는 의미.



//----------------------------------

전체 설정을 변경한다면..

옵션으로 -R 이나 --recursive

chmod -R g+rw 폴더

//----------------------------------

[출처] http://www.wakgu.com/198?category=0

'개발 > Linux' 카테고리의 다른 글

linux 명령어 - nohup  (0) 2011.07.21
Linux IP 변경  (0) 2011.07.21
[명령어] service 방화벽 상태 및 설정  (0) 2011.05.25
[명령어] history 이전에 실행된 명령어 출력  (0) 2011.05.25
linux 명령어 - ln 심볼릭 링크  (0) 2011.05.25

Quartz 문서

개발/Java2011. 7. 13. 21:02

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="172.16.190.115,172.16.190.163,127.0.0.1"/>

server.xml 파일의 Host 태그 사이에 넣어주면 된다.

'개발 > Server' 카테고리의 다른 글

Tomcat Context 생성  (0) 2014.04.10
JEUS 사용법  (0) 2013.07.12
Windows7 환경에서 Tomcat 사용시 IPv6로의 인식 문제  (0) 2010.08.10
Weblogic Domain 생성 및 테스트  (0) 2010.05.28
[Weblogic]Oracle WebLogic Server 10.3 설치  (0) 2010.05.28