~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. 개인 암호 변경 방법 ( 전자가 안될 경우 후자로 변경) ¶
- mysql> SET PASSWORD FOR 자신아이디@'%' = PASSWORD('바꿀 암호');
- 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;
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)
웬지 저 문제가 아닐까 하는 생각을 해보는중. (아니면 내가 삽질중인거고;) --1002
MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --상규
MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --상규
~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)