같은 Database 안에서 테이블의 charset 이 utf8이지만 세부 charset이 다른경우 (utf8_general_ci, utf8_unicode_ci)
두개의 char나  varchar를 조인하려고 하면 다음과 같은 에러가 발생한다.

ERROR : java.sql.SQLException: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=

이럴경우 궁극적으로는 table의 charset을 변경하여 맞춰주는 것이 맞지만 그렇지 못할경우  collate라는 명령어로 강제로 변환하여 select 를 할수가 있다.

예를 들어 USER 테이블은 utf8_general_ci로 되어 있고  BBS 테이블은 utf8_unicode_ci 로 되어 있을 경우
SELECT U.MEMBER_ID, B.SUBJECT, B.IDX
FROM USER U, BBS B
WHERE U.MEMBER_ID = B.MEMBER_ID
ORDER BY B.IDX
의 경우 조건절에 '=' 중심으로 맞춰줄 charset 을 변경한다.

SELECT U.MEMBER_ID, B.SUBJECT, B.IDX
FROM USER U, BBS B
WHERE U.MEMBER_ID COLLATE utf8_unicode_ci = B.MEMBER_ID
ORDER BY B.IDX

or

SELECT U.MEMBER_ID, B.SUBJECT, B.IDX
FROM USER U, BBS B
WHERE U.MEMBER_ID = B.MEMBER_ID COLLATE utf8_general_ci
ORDER BY B.IDX

로 해주면 위의 에러가 발생하지 않고 데이터가 잘 나오게 된다.





원본출처 : http://denma93.blog.me/130105331147


1. apache 설치
sudo apt-get install apache2

2. mysql 설치(server & client)
sudo apt-get install mysql-server mysql-client

3. php 설치까지...(시냅틱 패키지 관리자로 설치)
시스템 ==> 관리 ==> 시냅틱 패키지 관리자 선택
검색에서 php 를 치면 관련 패키지들이 나온다.
php-mysql, php5-gd, php-odbc, php5-curl, libxml등을 체크한다음
적용을 한다.


log-bin 파일 정리하기

Posted 2011. 5. 13. 12:21


Innodb나 Replication용으로 생성되는 log-bin파일이 부담된다면 가끔씩 정리해주자.

단, Replication상황에서도 임의로 삭제해도 되는지는 좀더 살펴봐야 할것 같고....

innodb 용 log-bin 은 다음과 같이 정리한다.

mysql\>mysql -u root -p -e "PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)"
Enter pasword:

서비스 중에 삭제가능했으며,  1GB파일 100개 정도 지우는데, 3~4분걸림.



« PREV : 1 : ··· : 3 : 4 : 5 : 6 : 7 : 8 : 9 : ··· : 15 : NEXT »