E D R , A S I H C RSS

MySQL

ZeroPage에서 사용하고 있는 데이터 베이스
MySQL 도움말 : ZeroPage 내부에 두었으며, MySQL의 완전한 도움말
MySQL 설치메뉴얼

~cpp 
jdbc:mysql://localhost/database?user=user&password=xxx&useUnicode=true&characterEncoding=KSC5601

1. 백업 방법

ZeroPage Server의 경우 MySQL의 자료 저장 디렉토리가 ~cpp /var/lib/mysql 이므로 해당 디렉토리 내의 자료를 복사 하는 것으로 가능하다. 복사중 mysql을 정 시키는 것을 권장한다.

개인이 자신의 자료만을 백업하기를 원할때에는 위에 언급된 디렉토리에서 자신의 데이터 베이스에 해당하는 디렉토리를 복사 하는 것으로 백업이 가능하다.
-- 이건 사용자가 root일 때만 되는거 아닌가요? 권한이 없는걸로 알고있는뎅 ^^ -jeppy
읽기 가능하게 해 놓는다. 좋은것을 적했구만 --상민


~cpp 
자신의 DB 전체 백업하기
mysqldump -p암호 -u사용자 --database DB명 > mysqlbackup.sql

일부 테이블만 백업하기
mysqldump -p암호 -u사용자 DB명 TABLE명 > tablebackup.sql

복구
mysql -p암호 -u사용자 --database db명 < mysqlbackup.sql

2. 개인 암호 변경 방법 ( 전자가 안될 경우 후자로 변경)

  1. mysql> SET PASSWORD FOR 자신아이디@'%' = PASSWORD('바꿀 암호');
  2. mysql> SET PASSWORD FOR 자신아이디@'localhost' = PASSWORD('바꿀암호');

3. 관리자의 경우

  • Database mysql의 user 테이블을 변경후 ~cpp flush privileges를 수행한다.
  • : myadmin shutdown -p
  • 시작 : safe_mysqld * MySQL/root암호분실시

4. DB권한 관련 (관리자용)

~cpp 
insert user values('localhost', 'jeppy', password('암호'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y'); 
insert user values('%', 'jeppy', password('암호'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y'); 

FLUSH PRIVILEGES; 

CREATE DATABASE jeppy;

REVOKE all PRIVILEGES on *.* from jeppy@'localhost'; 
REVOKE all PRIVILEGES on *.* from jeppy@'%'; 

FLUSH PRIVILEGES; 

GRANT all on jeppy.* to jeppy@'localhost'; 
GRANT all on jeppy.* to jeppy@'%'; 
FLUSH PRIVILEGES; 

5. 기타 의문 요구 사항

  • ZeroPage 회원 상민(99,neocoin)에게 해 주십시오.
  • 위 회원은 ZeroPage 서버 관련 요청만 협조할 의무가 있습니다.

6. Thread

~cpp 
mysql> select * from addressbook order by name asc;
+-----------+---------------+
| name      | phone         |
+-----------+---------------+
| 이희진    | 011-9143-8841 |
| 이경아    | 011-9364-7855 |
| 장재니    | 016-9583-1017 |
| 조순영~^^ | 011-9908-0299 |
| 김영호    | 011-9115-8338 |
| 박경숙    | 011-9808-5075 |
+-----------+---------------+
6 rows in set (0.00 sec)
재니가 오늘 물어보는데, ORDER BY name (스트링) 을 하는데, 가나다순으로 정렬이 안된다고 해서.

혹시나 해서 다음의 일을 해봤는데
~cpp 
mysql> select ('강' > '이');
+---------------+
| ('강' > '이') |
+---------------+
|             1 |
+---------------+
1 row in set (0.00 sec)

현재 MySQL status 보면
~cpp 
Client characterset:    latin1
Server characterset:    latin1

저 문제가 아닐까 하는 생각을 해보는중. (아니면 내가 삽질중인거고;) --1002
앗 탄로 났다. 드뎌 영문으로 설치한 부작용이 다들 영어 써요 ~ 와~~;; 오호 통재라 모든것은 시험끝나고 이루어질것이니.. --neocoin

MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되 않거나 하는건 아니만, 검색이나 정렬등에서 제대로 작동하 않는 경우가 있습니다. --상규
Thanks.~ --1002
ㅎㅎ 형 고마워요~^^ --재니

~cpp 
mysql> desc addressbook; 
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name  | char(10) |      |     |         |       |  <-- name 이 char 타입입니다.
| phone | char(15) |      |     |         |       |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
~cpp 
mysql> select * from addressbook ORDER BY BINARY name;
+-----------+---------------+
| name      | phone         |
+-----------+---------------+
| 김영호    | 011-9115-8338 |
| 박경숙    | 011-9808-5075 |
| 이경아    | 011-9364-7855 |
| 이희진    | 011-9143-8841 |
| 장재니    | 016-9583-1017 |
| 조순영~^^ | 011-9908-0299 |
+-----------+---------------+
6 rows in set (0.00 sec)

7. MySQL & Transaction

MySQL과 Transaction 테이블 생성시 InnoDB 나 BSDDB 를 사용하면 Transaction 을 이용할 수 있다. (InnoDB 추천)

8. MySQL Password 함수

MySQL 에서 다른 데이터베이스로 데이터를 옮길 경우 기존 데이터중 문제가 되는 것이 바로 내장함수인 PASSWORD 를 이용해서 암호화를 한 부분이다. 다른 데이터베이스에서 이 데이터를 쓸 방법이 없기 때문이다. 이 경우, 로직 단에서 MySQL의 Password 함수를 대신 구현해줌으로서 해결을 할 순 있다.


단, 3.23 버전대에서만 동작함. MySQL 이 4.1 이 되면서 PASSWORD 함수의 구현이 바뀌었다.

다음은 자바 & 파이썬 버전(그대로 포팅한 것)
MySQL/PasswordFunctionInPython
MySQL/PasswordFunctionInJava

위의 PHP 버전은 어떻게 만들었을까? 바로.. MySQL 코드를 보고 만들었다고 한다.- UseTheSourceLuke --1002


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:49
Processing time 0.0245 sec