Archive for the ‘-ㅂ-’ Category.

MySQL – 텍스트, CSV 등의 Flatfile을 import 할 때 쓰는 명령어

작업 하다보면 txt파일 또는 csv등의 파일들을 DB에 넣어야 할 경우가 많은데 phpmyadmin 을 쓰지 않는 이상 쿼리로 모든 것을 해야하니 이번에 작업 하나 한 김에 또 잊기전에-_- 기록 남겨놓기 🙂

쿼리를 이렇게 날립시다
mysql > LOAD DATA INFILE ‘/경로/파일이름.txt’ INTO TABLE ‘테이블’ FIELDS TERMINATED BY ‘\t’ LINES TERMINATED BY ‘\n’ (필드1, 필드2);

이렇게 하면 /경로/파일이름.txt가 ‘테이블’ 이라는 이름의 테이블로 입력 되는데 필드1, 필드2 라는 이름의 필드들에 해당 값이 import 됨

에러가 나와도 진행을 하기 위해서 필드 뒤에 IGNORE 1 LINES  명령어를 넣어주면 됨

작업 좀 편하게 합시다~ 🙂
mysql 로그인 도 귀찮은 경우에는

$> mysql -uroot -p -e “LOAD DATA INFILE ‘/경로/파일이름.txt’ INTO TABLE ‘테이블’ FIELDS TERMINATED BY ‘\t’ LINES TERMINATED BY ‘\n’ (필드1, 필드2);”

이렇게 처리를 해주면 로그인을 한 화면에서 다시 붙여넣기를 하지 않아도 자알 들어감..

Linux – SCP 사용법

Linux 에서 다른 리눅스 서버로 파일 옮길 때 가장 많이 사용되는 scp
사용법은 매우매우 간단~

scp 파일이름.zip 계정@서버IP주소:~/

위 처럼 적으면 해당 계정의 홈 디렉토리로 들어감 🙂

ex) scp sources.zip [email protected]:~/source

이렇게 쓰면 /home/hugyou/source 라는 디렉토리에 sources.zip 이라는 파일이 카피가 됨
윈도에서 네트워크 공유와 나름 비슷한 기능 ㅎ

요즘 하도 쓸 일이 많아서-_- 그냥 생각난 김에 끄적~

MSSQL 2005/2008 – sp_send_dbmail 을 사용하기 위한 기본 설정 간단가이드

MSSQL 2005에서 지원되는 dbmail을 사용하기 위한 방법 을 그냥 나열

일단 준비단계
——————————————————
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = ‘계정이름 – hugyou’,
@description = ‘계정설명 – 전지전능하지 못한 hugyou’,
@email_address = ‘메일주소 – [email protected]’,
@display_name = ‘보여질 이름 – 메일 받을때 발신인에 찍힐 이름’,
@username=’메일주소 – [email protected] or other’,
@password=’비밀번호 – 비번’,
@mailserver_name = ‘SMTP 서버 주소 – smtp.smtp.com’
go

EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = ‘계정이름’,
@description = ‘Profile used for 계정이름’
go

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = ‘계정이름’,
@account_name = ‘계정이름’,
@sequence_number = 1
go

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = ‘계정이름’,
@principal_name = ‘public’,
@is_default = 1 ;
go

——————————————————

이제 보내봅시다
——————————————————
declare @body1 varchar(100)
set @body1 = ‘서버 :’+@@servername+ ‘ 첫 메일!’
EXEC msdb.dbo.sp_send_dbmail @recipients=’보낼메일 주소 [email protected] 등등..’,
@profile_name = ‘계정이름’,
@subject = ‘메일 테스트’,
@body = @body1,
@body_format = ‘HTML’ ;
——————————————————

다른 옵션은 books online의 sp_send_dbmail 을 찾아보시면 쿼리 결과를 그대로 보내는 법 등이 나와있음 입니다 🙂

추가 만약 SQL 2008 이라면 Database Mail XPs 를 활성화 시키는데 에로사항이 꽃 필 수 있기에..
아래 처럼 그냥 쿼리 실행으로 간단하게!
——————————————————
USE master
GO
sp_configure ‘remote admin connection’, 1
GO
sp_configure ‘show advanced options’, 1
GO
reconfigure with override
GO
sp_configure ‘Database Mail XPs’, 1
GO
reconfigure with override
GO
sp_configure ‘show advanced options’, 0
GO
sp_configure ‘remote admin connection’, 1
GO

——————————————————

MSSQL – 회원들의 email provider를 뽑고 싶을때

다음에 또 치기 싫으니-_-;;
올려놔야지.. ㅋ

select    substring(email, (charindex(‘@’, email)+1), (len(email)-charindex(‘@’, email)+1)) as ‘mail providers’,
    count([id]) as ‘회원수’
from    [회원DB] with (NOLOCK)
group    by substring(email, (charindex(‘@’, email)+1), (len(email)-charindex(‘@’, email)+1))

이걸로 큰 귀찮음을 덜 수 있다면 다행!

MSSQL에서 COLLATION 에러가 날 때… 아마도 에러 446(2000) 또는 468(2005)..

조건절 등에서 collation 틀려서 에러 날 경우 🙂
가끔 나오는데 그게 매우 아쉬우니 적어놔야지..

select 가져올 것
from 테이블 as A
Join 테이블 AS B on A.컬럼 = B.컬럼 COLLATE 각종 collation설정들..

where 각종 조건들..

전체를 바꿀 수 없다면 잠시만 바꿔줍시다~ 🙂
물론 확인 잘 하고나서~

우분투 ubuntu ftp(sftp) 및 ssh 설치법

터미널에서

$sudo apt-get install ssh
아아.. 초 간단..

만약 포트 변경이 필요하다면

$sudo gedit /etc/ssh/sshd_config

# port 22 에서 주석 제거한 후에 열고싶은 번호로 변경 후

ssh 서비스 재시작
$sudo /etc/init.d/ssh restart

ssh가 설치가 되었다면 sftp로 접속 가능하니 sftp 접속 툴로 ftp를 즐겨줍시다~

우분투 ubuntu nabi로 한글 입력기 변경하기

우분투 설치하면 기본으로 깔려있는 scim이라는 다국어 지원 입력기가 있는데..

이녀석이 심심하면 죽거나;; 잘 되다가 갑자기 안되거나 하는 일이 있으니 답답하기 그지 없어서-_-;;

scim을 기본으로 쓰고 있지만 그걸 전통(!)의 한글 입력기인 nabi로 변경했음..

일단 nabi 설치..


#sudo apt-get install nabi

설치 끗…

기본 입력기 설정 변경 방법은 터미널 하나 띄우고

#sudo im-switch -c

하면 패스워드 넣고 입력기 리스트가 몇개가 나오는데.. 거기서 나오는 번호중에 nabi를 찾아서 번호 입력후 엔터..

그리고 리붓 하던가.. 아니면 ctrl+alt+backspace로 X windows만 다시 실행시키면 기본으로 nabi가 실행되어있음..

변경 끗…

우분투(ubuntu)+VirtualBox USB 장치 문제 해결 방법

우분투 8.04 + virtualbox 사용시 usb장치 문제 해결방법

7.xx와 좀 달라져서 자료 찾고 설정 완료의 방법..

1. /etc/init.d/mountdevsubfs.sh 에서 주석된 부분을 수정해줘야함
ex) sudo gedit /etc/init.d/mountdevsubfs.sh

# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount –rbind /dev/bus/usb /proc/bus/usb

Magic 아래쪽부터 mount 부분까지 주석 처리 되어있는 걸 없에자

수정 후
—————————————————————————————————————
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount –rbind /dev/bus/usb /proc/bus/usb

2. /etc/udev/rules.d/40-permissions.rules 에 유저그룹 vboxusers 를 추가 해 줘야 함
ex) sudo gedit /etc/udev/rules.d/40-permissions.rules

찾기 눌러서

# USB serial converters
SUBSYSTEM==”usb_device”, GOTO=”usb_serial_start”
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, GOTO=”usb_serial_start”
GOTO=”usb_serial_end”
LABEL=”usb_serial_start”
ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″ \
, MODE=”0660″, GROUP=”dialout”
LABEL=”usb_serial_end”

이 부분을

# USB serial converters
SUBSYSTEM==”usb_device”, GOTO=”usb_serial_start”
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, GOTO=”usb_serial_start”
GOTO=”usb_serial_end”
LABEL=”usb_serial_start”
ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″ \
,GROUP=”vboxusers”, MODE=”0660″, GROUP=”dialout”
LABEL=”usb_serial_end”

로 그룹 부분 설정 추가

3. usbfs 설정 하나 더 추가
sudo gedit /etc/fstab
젤 아래줄에

#usbfs
none /proc/bus/usb usbfs devgid=46,devmode=664 0 0

4. 리붓

끗..

apache 아파치 설정파일 httpd.conf 를 이용한 기본 보안

일단 아파치 설정 관련해서 몇개 적긴 했었는데..

2008/05/13 – [-ㅂ-] – Windows 에서 Apache+MySQL+PHP와 함께 WordPress를 사용할 때의 설정
2008/04/18 – [-ㅂ-] – Apache(아파치) 2.2 를 윈도에 설치 했을때 403 Forbidden 에러가 난다면

이런것들;;

위에선 적어놓지 않았던 내용중 하나를 추가

리눅스에서 설정을 하려면 방화벽 기본으로도 좋은 녀석 있으니 그걸 이용해서 설정하면 된다지만
그래도.. 그래도.. 처음부터 안전하게 해놓는 것이 역시 좋기에 🙂

현재 내가 사용하고 있는 설정 파일의 일부
——————————————————–
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
————————————————-

두꺼운 글씨 처리 되어있는 부분이 매우 간단하기에 편리하게 설정할 수 있는 부분..
MAC address로 처리하는 것이 물론 매우 좋긴 하지만 MAC의 경우 개인이 맘대로 변경 할 수도 있는 가능성도 있고 내부에서만 보여야 되는 설정일 경우 IP주소로 필터링을 한번 해주는 것이 일단 먼저이기 때문에 🙂

1. Order Deny,Allow
위처럼 Order Deny, Allow 를 하게되면 Deny 부터 하고 나중에 Allow를 한다는 이야기
반대로 쓸 수도 있음 Order Allow, Deny 로 하게되면 Allow먼저 처리하고 나중에 Deny를 처리함

2. Deny from all
위의 설정은 일단 모든 트래픽을 막음

3. Allow from 127.0.0.1
1번의 order deny, allow 의 조건에 따라서 이미 막혀있는 상태에서 127.0.0.1 만 접속을 허용하도록 설정함
127.0.0.1 은 localhost 이기에 자신의 컴퓨터를 제외한 다른 곳에서는 결국 접속이 불가능 한 상태로 설정됨

생각보다 매우 간단 🙂

이어지는 응용편
——————————————————–
1. 특정 IP만 막고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
Deny from 111.222.333.444
</Directory>

2. 1번 막았는데 한 녀석 더 막고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
Deny from xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
</Directory>

3. C클래스를 막고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
Deny from 111.222.333
</Directory>

4. 사무실 내부 C클래스만 열고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Deny, Allow
Allow from 192.168.1
Deny from all
</Directory>

위에서도 적은 것 처럼 allow 와 deny의 순서가 바뀌어 있어도 order에 명시된 순서로만 명령어가 먹음!

끗끗

해상도별로 VGA에서 필요로 하는 메모리

그냥 재미삼아서-_- 생각이 나는 김에 엑셀에 넣고 계산~ ㅋ
모든 해상도의 기준은 32비트!! 그러니 24비트등을 쓴다면 이거보다 덜 필요하다는 이야기가 됨 🙂

해상도 = 필요한 MB
640 480 = 1.17
800 600 = 1.83
1024 768 = 3
1280 1024 = 5
1600 1200 = 7.32
1440 900 = 4.94
1650 1024 = 6.45
1920 1200 8.79
2560 1600 = 15.63

그럼으로 30인치에서 2D화면을 32비트로 그리는데 필요한 메모리는 16메가면 모든 화면을 다 그리고도 메모리가 남는!! 효과를 누릴 수 있으나 🙂 최근의 VGA는 3D라는 녀석들을 불러 들이기 위해서 256MB, 512MB의 용량들을 탑재해서 나온다라는..

그리고 요즘 인기있는 2MB로는 800×600의 제대로된 32비트 컬러 를 볼 수 있을 것이며 그나마 볼만한 16비트의 컬러로는 1024×768까지는 가능할듯

자고로 메모리는 다다익선이라는 것이 불문율이거늘..
넓게 보기 위해서라도 다량의 메모리가 필요한 시기이죠 🙂

Windows 에서 Apache+MySQL+PHP와 함께 WordPress를 사용할 때의 설정

windows기반에서 apache mysql php의 연동은 정말 넘치고 넘쳐있으니;; 죄송하지만 검색 한번 해보시면 나올듯 하고

글을 적는 이유인 windows 기반에서 wordpress를 연습 or 서비스 (설마;;) 할 때의 도움이 되는 설정 내용

 

apache+mysql+php 설치후 설정할 것들..

 

httpd.conf에 추가될 내용

1. LoadModule rewrite_module modules/mod_rewrite.so 에 있는 주석 제거

2. php 설정 – 이건 아마도 이미 apache와 php의 연동에서 처리가 되었을 부분
LoadModule php5_module “D:/PDS/php-5.2.5-Win32/php5apache2_2.dll”
AddType application/x-httpd-php .php
PHPIniDir “D:/PDS/php-5.2.5-Win32/”

3. 경로와 권한설정
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All

Order allow,deny
Allow from all
</Directory>

예전에 적어놓았던 403에 대한 에러 역시 수정됨.. 중요한것은 mod_rewrite.so 이 부분과 AllowOverride 설정을 All 로 변경해주는 것..

 

위의 내용까지 처리가 되었다라면 permanent link부분까지 처리가 다 될듯
이거 제대로 처리 안되면 http://localhost/?p=번호 이런 식으로만 처리가 되고 (물론 보고 즐기는데는 상관없지만 이왕하는거 ㅋ) 나름 fancy한 링크인 permalinks가 먹질 않고 404 에러를 토해낼테니–;; 그게 보기 싫으면 위의 설정을 해주면 깔끔~

MySQL 변경해도 변경이 안될 경우 -_-;;; flush privileges

제목이 이상하지만 MySQL을 쓰다보면 사용자를 추가 했는데 로그인이 안된다거나 패스워드를 변경했는데 변경되지 않은 것으로 나올 때가 있는데 이 때 사용하면 대부분의 경우 해소가 되는 명령어가

flush privileges;

root로 로그인 한 다음에 저거 한번 해주면 모든 변경 사항이 싸악 적용되면서 원치 않던 에러가 많이 해결되리라 생각됨 🙂

많이 착한 명령어중 하나임~

MySQL for Windows error 1067 이 생길때

쓰고있는 laptop에서 apache+php+mysql 이렇게 세가지를 다 돌리려다 보니 각종 에로사항이 마블링-ㅂ-처럼 피어올라 정리-_-;

먼저 조건이라면
1. 아래에 해당 하는 경우는 압축을 풀어 설치하는 설치본에 해당하는 경우임
2. 버전은 MySQL 5.0.51b win32 를 기준으로 함
3. Windows XP with Service Pack 3 이 기본 OS임 (별 상관은 없는-_-)

Administrative tool에 있는 Service항목에서 mysql 서비스가 실행이 안되어있는 것을 확인해서 시작을 시키려고 하니 에러가 발생

Could not start the MySQL service on Local Computer.

Error 1067: The program terminated unexpectedly.

흠.. 도와줘요 구글~

forums.mysql.com 에 링크가 걸림.. 영어 압박 -ㅅ-;;

일단 문제는 경로설정 (linux에서는 이런거 없었던거 같은데 ㅠㅠ 컴파일이 귀찮긴했어도-_-)

윈도설치경로가 C:\라면
c:\windows\my.ini 가 있다면 수정 없다면 생성을 먼저 한 후 아래의 내용을 추가해준다

[mysqld] 
basedir=D:/MySQL
datadir=D:/MySQL/data

여기서 경로는 자신이 압축을 푼 그 위치를 의미함 내 경우에는 D:\에 mysql이라는 디렉토리에 압축을 풀었기에 저런 설정을 추가해줬음..

그 뒤에 다시 Service가서 시작 해주면 아주 깔끔하게 🙂 시작이 되는 것을 확인 할 수 있습니다~

컴퓨터 용량 단위 정리 :) computer capacity mesurements

최근의 64bit 컴퓨팅은 결국 8바이트 […..] 컴퓨터? ㅋㅋ

——————————-
1 비트 = 모든 녀석의 근원 🙂
1 바이트 = 8 비트
1 킬로바이트 = 1024 바이트
1 메가바이트 = 1024 킬로바이트
1 기가바이트 = 1024 메가바이트
1 테라바이트 = 1024 기가바이트
1 페타바이트 = 1024 테라바이트
1 엑사바이트 = 1024 페타바이트
1 제타바이트 = 1024 엑사바이트
1 요타바이트 = 1024 제타바이트
1 하피바이트 = 1024 요타바이트
——————————–

나중에 뒤에 더 알게되면 붙여넣어야지 ㅎ

참고자료 http://en.wikipedia.org/wiki/Computer_Capacity_Measurements

즐거운 컴 생활들이요~

Apache(아파치) 2.2 를 윈도에 설치 했을때 403 Forbidden 에러가 난다면

보통의 경우 (물론 다른 훌륭한 http daemon들도 많지만) 리눅스에서 많이 쓰는 Apache 웹서버의 경우
윈도에서 제공되는 지금까지 GUI로 제공되어오던 IIS의 설정을 변경하는것 보다는 많은 노력이 들어가며

그중에서 가장 대표적인 예가 바로 접근 권한이 없다라고 나오는 403 Forbidden 에러메시지..
리눅스의 경우 디렉토리의 권한을 Apache 또는 모든유저가 읽을 수 있도록 변경하면
해결되는 경우가 보통이지만 윈도에서 (특히 XP계열의 end-user OS) 폴더 권한 설정하기에는
이런저런 압박들이 따라오는 경우가 많다 무슨 네트워크 보안 설정이니 웹에 게시를 할 것이냐부터
하다보면 ‘이거 뭐야 무서워 ㅠㅠ’ 하며 포기를 하게 되는 경우가 많은데
이러한 윈도계열에서 403에러를 한방에 날려줄 설정이 바로 이것!!




<Directory “경로(ex- d:/웹소스”>
AllowOverride None
Order allow,deny
Allow from all
</Directory>




위의 옵션을 아파치의 httpd.conf 파일에 추가를 해준 후 apache를 재기동시키면
많은 403 forbidden 에러메시지를 더이상 보지 않을 수 있다 🙂
IIS깔기 귀찮아서 Apache를 깔고나서 간만에 설정하다가 403에러를 만나서 기억을 더듬고 더듬은 끝에

구글이 알려줬다-_-;

고마워요 구글 -ㅅ-;;

IDC로 뛰어가기 싫을 때 유용한 명령어

Windows 서버를 쓰다가 보면 가끔 터미널 갯수 초과 메시지가 나오면서 화면을 멍하게 바라보게 되는 경우가 종종 있기에 이 문제를 해결하기 위한 나름의 솔루션! 물론 이미 많은 사람들이 알고 있지만 그냥 나를 위해 다시 한번 정리를~

tsdiscon
이 녀석을 사용하기 위해서 그 전에 실행을 반 드 시 해야할 것이 있는데

net use \\xxx.xxx.xxx.xxx(서버 ip) /user:ACCOUNT-(administrator or member of administrators)
이걸치면 해당 계정을 비밀번호를 물어보는 것이 나오고 비번을 제대로 입력 한다면 연결성공!
그 뒤에 어떤 녀석을 끊어야할지를 알아야하기에

query session /server:xxx.xxx.xxx.xxx(서버ip)
이렇게 치면 해당 서버에 로그인 되어있는 정보가 주욱~ 하면서 나오게 되고
거기에서 보이는 ID 를 tsdiscon ID(sessionID) /server:xxx.xxx.xxx.xxx(서버 ip) /v

여기서 뒤에 서버 ip 안 치면 자기 사진의 연결 자체가 끊어지게 되니 반드시 뒤에 ip를 입력 해줄 것~

문제는 가끔 다른 계정으로 접근되어있는건 끊어지지 않을 때도 있으니 이럴때는 그냥 logoff를 시켜도 되는지 판단한 다음에 해당 유저를 logoff 시켜버리는 것도 한가지 방법 🙂

logoff ID (sessionID) /server:xxx.xxx.xxx.xxx (서버 ip) /v 하게 되면 해당 세션ID의 작업이 죽으면서 내가 들어갈 공간이 생김 🙂
다만!! 작업하던게 날아가니 중요한게 있다면 전화 연락등을 통해 안정성을 확보한 후에 logoff시키는게 선행되어야 할듯~

환경 : Windows 2000 server, Windows 2003 server, Windows 2008은 테스트 후에 🙂 다시 포스팅 예정

추가 : 08/20/2008
서버 그냥 리부팅 시키고 싶을때..
tsshutdn 10 /server:xxx.xxx.xxx.xxx(서버 ip) /reboot
ip주소를 가지고 있는 서버가 10초 후 리부팅 된다 🙂
물론 net use로 접속을 한 상태에서

각 OS 별 dns 정보 갱신 방법

Windows
– ipconfig /flushdns

Linux
– /etc/rc.d/init.d/nscd restart

Mac
– Tiger : lookupd -flushcache
– Leopard : dscacheutil -flushcache

가끔 인터넷이 삽질할때 나름 쓸만한 명령어