Whiteship's Note


[MySQL Administrator] Row 갯수 제대로 못세나?

Good Tools : 2010.03.03 16:38


스키마 테이블 탭에서 보여주는 Rows 갯수는 믿지 못하겠습니다.


리프래시를 하면..


헐.. 갯수가 계속 바뀝니다.


이렇게 찍으면 정확한 갯수가 나오는데 말이죠. 왜이런담; 멀라 멀라. @_@
top


[MySQL] mysqldump 백업 복구

Linux : 2010.02.24 14:20


참조: http://osguru.tistory.com/entry/MySQL-DB-%EB%B0%B1%EC%97%85-%EB%B0%8F-%EB%B3%B5%EA%B5%AC-mysqldump

백업

mysqldump -u 계정 -p 비번 DB > 백업파일

복구

mysql -u 계정 -p 비번   DB < 백업파일

흠.. 잘하면 외울 수도 있겠구나;;
top


MySQL 설치 후 처음으로 로긴하기

Linux : 2008.02.29 00:04


참조 : http://itn.pe.kr/ttools/1

MySQL을 yum 설치하고나서 접속을 시도합니다.

mysql -u root -p

기본으로 root의 암호는 공백이니까 그냥 엔터를 칩니다. 그런데.. 들어가지지는 않고 에러가 나옵니다.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

아.. 이 끔찍한 에러. 이전에도 몇 번 만난적이 있는데, 그 때 잘 정리해 두지 않고 어찌저찌해서 접속 한 다음에 그냥 사용하고 있다가 다시 오랜만에 서버에 깔다가 만나니.. 참으로 난감한 에러입니다.

1. 프로세스가 돌고 있지 않아서 에러가 납니다. 그럼 프로세스를 돌려줍니다.  mysqld (MySQL 데몬)을 실행하면 되는데, 이 파일이 여러군대에 있더군요. 그중에서 저는

/usr/local/mysql/bin/mysqld_safe --user=mysql&

이렇게 하니까 동작 됐습니다.
Starting mysqld daemon with databases from /usr/local/mysql/var 이런 메시지가 출력됩니다.

2. 그 다음 다시 로그인을 시도하면 또 똑같은 에러가 나타납니다. 이번에는 링크를 만들어 줍니다.
temp 폴더에 생성되는 sock 파일을 mysql이 원츄하고 있는 이름으로 심볼릭 링크를 만들어 줍니다.

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

3. 이제 끝. 이제는 로그인이 됩니다.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.26

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


top


MySQL 인코딩 설정 바꾸기

DB/실습 : 2007.08.30 15:44


MySQL 설정 파일을 변경하여 인코딩 변경하기 => UTF8기반으로 쓰기위한 Mysql 세팅방법
DB 생성할 때 인코딩 옵션 주기 => UTF8을 쓰기 위한 MySQL 테이블 및 데이터 취급 방법

create database test DEFAULT CHARACTER SET utf8 collate utf8_general_ci

'DB > 실습' 카테고리의 다른 글

PostgreSQL DB 백업/복구  (0) 2008.04.11
MySQL 인코딩 설정 바꾸기  (0) 2007.08.30
HSQL 데이터베이스 Persistent 모드와 In-Memory 모드  (2) 2007.07.25
MySQL DB의 데이터를 CSV파일로  (0) 2007.06.18
top


MySQL DB의 데이터를 CSV파일로

DB/실습 : 2007.06.18 12:32


참조 : http://forums.digitalpoint.com/showthread.php?p=3472783

SELECT * INTO OUTFILE 'YOUR_FILE.CSV'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM YOUR_TABLE;

이런 SQL을 날리면 되더군요. MySQL Administrator에서 해당 기능을 찾다가 안보이길래 구글에서 검색했더니 금방 나오네요.ㅋ;

CSV파일은 Window를 사용중 이시라면
C:\Program Files\MySQL\MySQL Server 5.0\data\"해당 DB 명의 폴더"\
안에 만들어집니다.

'DB > 실습' 카테고리의 다른 글

PostgreSQL DB 백업/복구  (0) 2008.04.11
MySQL 인코딩 설정 바꾸기  (0) 2007.08.30
HSQL 데이터베이스 Persistent 모드와 In-Memory 모드  (2) 2007.07.25
MySQL DB의 데이터를 CSV파일로  (0) 2007.06.18
top

TAG CSV, MySQL

apache friends - xampp



사용자 삽입 이미지
여기를 클릭하면 xampp사이트로 이동합니다.

xampp라는 패키지를 무료로 제공해주는 사이트입니다. 이 패키지에는 apache, php, perl, mysql등이 들어있습니다.

리눅스에 apache, mysql, php 설치하는 것이 고난인데...이 분들도 그에 동감하여 매우 쉽게 이것들을 설치할 수 있는 패키지를 만들어서 제공해주고 있습니다.

리눅스용 최신 버젼인 1.5.5a 안에 들어있는 프로그램들입니다.

more..


설치하기가
tar xvfz xampp-linux-1.5.5a.tar.gz -C /opt
이 한 줄로 끝이랩니다.


'모하니? > 그냥 놀아' 카테고리의 다른 글

충치 치료..ㅠ.ㅠ  (2) 2007.01.30
알렉산더로 부터 이메일을 받았습니다.  (2) 2007.01.29
중독성 게임 ㅠ.ㅠ  (2) 2007.01.19
자바 노란띠 획득  (2) 2007.01.07
xampp 사용법  (0) 2007.01.04
apache friends - xampp  (0) 2007.01.03
Linux(redhat계열)에 MySql 설치 and 데몬 돌리기(구동)  (2) 2007.01.03
새해 인사를 할 시간이 됐군요.  (10) 2006.12.31
Head First 시리즈 소스 코드  (0) 2006.12.26
성냥 퀴즈  (0) 2006.12.25
신기한 곱셈 풀이  (5) 2006.12.07
top


페이징 기능 구현하기(TDD, Easymock, iBATIS, MySQL)



1. 먼저 MemberRepositoryTest에 다음과 같이 Easymock을 이용한 Test코드를 추가합니다.
   @Test
   public void pagsing(){
       final Member member = new Member();
       List<Member> members = null;

       mockMemberDao.add(member);
       expectLastCall().times(15);
       expect(mockMemberDao.list(1)).andReturn(members);

       replay(mockMemberDao);
       for (int i = 0; i < 15; i++) {
           memberRepository.add(member);
       }
       assertEquals(members, memberRepository.list(1));

       verify(mockMemberDao);
   }
=> 여기서 의문이 드는 것은 "빨간색으로 표시된 부분이 올바른 표현인가?" 모르겠습니다. Return 타입을 예상하는 부분으로 기억이 나는데 다시 공부할 필요가 있겠습니다.
=> 또하나 의문이 드는 것은 return type인 "List의 크기를 예측할 순 없을까"하는 것입니다. 왠지 방법이 있을 것 같은데 이것도 좀더 공부할 필요가 있겠습니다.

이 테스트를 통과 시키기 위해서는 MemberDao 인터페이스에 새로운 메소드가 추가되어야 하며 MemberRepository 인터페이스에도 새로운 메소드가 추가되어야 합니다. 그리고 그 메소드를 구현한 MemberRepositoryImpl 에서 새로 추가한 메소드를 구현해 두어야 합니다. MemberDao의 list()를 호출하도록 수정하면 위 테스트는 간단하게 통과 합니다.

2. 이번에는 Dao Test를 하기 위해서 SqlmapMemberDaoTest 클래스에 다음의 테스트 코드를 추가합니다.
   public void testPaging(){
       final int numberOfMembers = 15;
       insertMembers(numberOfMembers);

       List<Member> members = memberDao.list(1);
       assertNotNull(members);
       assertEquals(12, members.size());

       members = memberDao.list(2);
       assertEquals(3, members.size());
   }
=> 이 테스트를 통과시키면 구현이 끝나게 됩니다.

3. 테스트를 통과 시키기 위해서 SqlmapMemberDao에 list를 아래와 같이 구현합니다.
public List<Member> list(int page) {
       Map<String, Integer> params = new HashMap<String, Integer>();
       params.put("defaultSize", 12);
       params.put("offset", 12 * (page-1));
       return getSqlMapClientTemplate().queryForList("Member.list", params);
   }
=> 아직도 테스트를 통과하지 못합니다. iBATIS에 list라는 id를 가진 SQL을 작성해야 합니다.

4. Member.xml에 다음과 같이 추가하면 테스트는 통과하고 기능 추가가 끝나게 됩니다.
<select id="list" resultMap="memberMap">
       SELECT *
       FROM Member
       ORDER BY id
       LIMIT #defaultSize# OFFSET #offset#
   </select>
=> LIMIT에 대한 MySQL document를 참조했습니다.
기본구조)  [LIMIT {[offset] row_count | row_count OFFSET offset}]
예) LIMIT 5 => 상위 5 줄
    LIMIT 2, 5 => 상위에서 2줄 버리고 5 줄
    LIMIT 5 OFFSET 2 => 상위에서 2줄 버리고 5줄

5. 코드에 수정할 부분을 찾아서 리팩토링 합니다. 한 페이지에 12개 씩 보여주기로 정했습니다.(제 맘대로ㅋㅋ) 그래서 위에 표시해 둔 12라는 숫자는 의미가 있는 숫자입니다. MemberRepository에 DEFAULT_LIST_SIZE 상수로 바꿉니다.

'Spring > 주소록 만들기' 카테고리의 다른 글

주소록 화면 완성  (3) 2006.12.19
중간점검  (0) 2006.12.17
HTML 공부 중 2탄  (2) 2006.12.14
Strict HTML 4.01 지침서  (6) 2006.12.14
HTML 공부 중  (2) 2006.12.13
페이징 기능 구현하기(TDD, Easymock, iBATIS, MySQL)  (2) 2006.12.11
Easymock 연습하기 3탄  (0) 2006.12.06
Easymock 연습하기 2탄  (0) 2006.12.05
Easymock 연습하기  (0) 2006.12.05
단위 테스트 모르겠슴 ㅠ.ㅠ  (0) 2006.12.05
Eclipse에서 Rename Method 리팩토링  (0) 2006.12.04
top


MySQL 설치 시 주의 할 점



DB 인코딩 문제를 해결하려 했지만 왠지 모를 이유로 인해 실패를 했었는데 결국 다시 설치하기로 결심하고 MySQL을 다시 설치하는 도중 문제 원인이자 해결책을 발견할 수 있었습니다. 저는 Table의 인코딩만 utf8로 설정을 해뒀는데 MySQL 자체의 인코딩을 바꿨어야 하는 것 같더군요.

인코딩 문제.

설치할 때 다음의 화면에서 꼭 주의 utf8로 설정하는 것이 좋겠습니다.

그리고 언능 다시 테스트를 해본 결과. 짜잔~ 한수형(evilimp) 정말 감사합니다.

MySQL 다시 설치할 때 주의할 점.

MySQL을 지우고 다시 설치하는데 서비스 가동이 안된다며 다음과 같은 에러가 발생합니다.
Cannot ceate Windows service for MySQL.Error:0 이라고 구글 신께 물어본 결과 원인을 바로 첫 페이지 첫 링크의 첫번째 댓글에서 알 수 있었습니다. 삭제 한뒤 프로그램이 설치 되어있던 폴더가 완전히 삭제가 안되서 그런것 같다고 써있더군요. 그래서 저 위 그림에 보이는 MySQL Server 5.0 폴더를 삭제 했습니다. 그러고 나서 다시 설치를 하니 잘 되더군요. :)

외부에서 MySQL 접속할 때 접속 불가능 하던 문제.

노트북으로 외부에 있는 서버에 접속해서 테터를 설치하려는데 그러러면 먼저 MySQL에 DB를 하나 만들어야 했는데 MySQL에 접속하려고 하면 무슨 포트 어쩌구 하면서 접속할 수 없다고 했습니다.
아마도 이 화면에서 설치할 때 Enable root access from remote machines 에 체크를 안하면 외부에서 접속을 못하는 것이 아닌가 싶네요. 결국 서버에 있는 MySQL도 재설치? ㅠ.ㅠ 으윽 리눅스에서 또 해매게 생겼습니다. ㅎㅎㅎ

'Spring > 주소록 만들기' 카테고리의 다른 글

메소드 추상화  (2) 2006.12.04
log4j.properties 파일 위치 시키기  (2) 2006.12.04
log4j 설정하기(in spring)  (0) 2006.12.02
수정해야 할 것들  (2) 2006.11.28
iBATIS에서 selectKey 사용하기  (2) 2006.11.23
MySQL 설치 시 주의 할 점  (6) 2006.11.23
DB 인코딩 문제  (0) 2006.11.20
SqlMapClientDaoSupport  (0) 2006.11.18
AbstractTransactionalDataSourceSpringContextTests  (4) 2006.11.13
회원 목록 추가  (0) 2006.11.13
XML configuration  (0) 2006.11.10
top


DB 인코딩 문제



왼쪽의 테스트 메소드를 통해서 DB에 들어있는 값이 제대로 출력되는지 확인하는 printDate(member);를 호출한 결과를 보면 다음과 같습니다.

1
???
whiteship2000@gmail.com
whiteship2000@hotmail.com
016-9889-6911
http://whiteship.tistory.com

setOneMember(); 메소드에서 member 객체를 DB에 하나 집어 넣는데요 그 객체 안에 들어있던 원래 정보는 다음과 같습니다.

       int id = _id;
       String name = "백기선";
       String phone = "016-9889-6911";
       String email = "whiteship2000@gmail.com";
       String messengerId = "whiteship2000@hotmail.com";
       String blugAddress = "http://whiteship.tistory.com";

따라서 한글이 지금 제대로 보이지 않고 있다는 것을 확인할 수 있습니다.

table을 생성하는 쿼리문을 다음과 같이 수정한 뒤 실제로 Character Set이 바꼈는지 확인해 봤습니다.

more..

utf8로 설정 된 것을 확인할 수 있습니다.

URL 뒷부분도 다음과 같이 수정했습니다.

more..


그러나 여전히 ??? 로 DB에 들어간다는 거~

아구 어지러~

'Spring > 주소록 만들기' 카테고리의 다른 글

log4j.properties 파일 위치 시키기  (2) 2006.12.04
log4j 설정하기(in spring)  (0) 2006.12.02
수정해야 할 것들  (2) 2006.11.28
iBATIS에서 selectKey 사용하기  (2) 2006.11.23
MySQL 설치 시 주의 할 점  (6) 2006.11.23
DB 인코딩 문제  (0) 2006.11.20
SqlMapClientDaoSupport  (0) 2006.11.18
AbstractTransactionalDataSourceSpringContextTests  (4) 2006.11.13
회원 목록 추가  (0) 2006.11.13
XML configuration  (0) 2006.11.10
MySQL Connector Down + testAdd()  (0) 2006.11.10
top


MySQL 설치 + 사용



다운로드 페이지에서 두 가지 중에 하나를 선택할 수 가 있는데 여기서 Community Server의 download를 클릭합니다.

Windows Essentials (x86)을 다운로드 받고 설치를 했습니다. 그리고 GUI 툴을 다운받고 설치 합니다.


New User 버튼을 클릭해서 새로운 사용자를 추가합니다.

새로운 DB를 만들려면 Catalogs를 클릭하고 하단의 빈 부분에서 마우스 오른쪽 버튼을 클릭하고 Create New Schema를 선택합니다.

현재는 root 계정으로 로그인 하여 DB를 만들었기 때문에 조금 전에 만들었던 사용자계정에게 이 DB를 관리 할 수 있는 권한을 주어야 합니다.

특정 사용자에게 특정 DB의 특정 권한을 주고 싶다면 User Administration을 클릭한 뒤 권한을 주고자 하는 사용자를 선택하고 -> DB를 선택하고 -> 권한을 선택하고 -> Assigned Privilege로 옮겨 줍니다.


'Spring > 주소록 만들기' 카테고리의 다른 글

iBATIS에서 selectKey 사용하기  (2) 2006.11.23
MySQL 설치 시 주의 할 점  (6) 2006.11.23
DB 인코딩 문제  (0) 2006.11.20
SqlMapClientDaoSupport  (0) 2006.11.18
AbstractTransactionalDataSourceSpringContextTests  (4) 2006.11.13
회원 목록 추가  (0) 2006.11.13
XML configuration  (0) 2006.11.10
MySQL Connector Down + testAdd()  (0) 2006.11.10
MySQL 설치 + 사용  (1) 2006.11.09
프로젝트 생성 + jar 파일 추가  (0) 2006.11.09
요구 사항 인터뷰  (2) 2006.11.09
top

TAG MySQL

ubuntu에 MySql설치 + 사용자 만들기 + DB 만들기

Wiki : 2006.10.24 11:58


apt-cache search mysql 을 입력하면

mysql-server-4.1이 보입니다.

apt-get install mysql-server-4.1 을 입력하여 설치를 했습니다.

그 다음 부터.. 어떻게 해야할지 막막 합니다.

먼저 db를 만들어야겠고.. 사용자도 만들어야겠다는 기분이 듭니다.

하지만 어떻게 하는지 모르죠. 구글신에게 물어볼 수 밖에..

여기를 참고하여

1. mysql 암호 설정
2. db 만들기
3. 사용자 만들기
4. db에 사용자 지정하기 를 해야겠습니다.

1. 암호를 바꾸고.

2. mysql -p 바꾼암호로 mysql에 접속? 합니다. 

3. show databaes; 로 현재 있는 db들을 봅니다.

4. create database rusedb;  로 rusedb라는 이름의 DB를 만듭니다.

5. use mysql 입력해서 mysql db에 접근

6. INSERT INTO user VALUES( '%', '사용자', 'PASSWORD('비번'), ....);

여기서 문법 에러가 나는 군요.. 아.. 지쟈스...

비쥬얼한 mysql 클라이언트가 필요한 때군요... OTL

사수~ PLZ GIVE ME 사수~~~

-----------------------------------------------------------------------------

헤헤헤헷... 운도 좋치.. 때려 맞추기에 성공했습니다.

GUI 툴이 있을 것이라 예상을 하고..

apt-cache search mysql 로 다시 한번 검색을 해봤더니

mysql-admin 이라는 패키지가 있더군요. GUI 어쩌구 저쩌구 써있길래..

apt-get install mysql-admin 으로 설치~

mysql-admin 으로 실행~~

오케!!! GUI 떴삼~

어!!!!!    User Administration 클릭하니까..다운???;;; 랙??;;   OTL 배고파... 으....윽

허헐...사용자 추가 하는 거 건너 뛰고..

rusedb의 모든 권한을 root에게 줘버렸습니다.
top

TAG MySQL
Wiki : 2006.10.24 11:58 Trackback. : Comment.






티스토리 툴바