본문 바로가기

phpmyadmin Unkown character set: 'utf8mb4' 이전에 백업해둔 데이터 .sql 파일을 phpmyadmin으로 가져오기로 복구 할랬더니 에러가 났다. 제목처럼 utf8mb4 이게 왜 났는지는 사실 중요하지 않다. 구버전이고 신버전이고 옵션이 어떻고 솔직히 몇년전이라 기억도 안나고 중요한건 해결이다. 자주 겪는 일도 아니고 sql파일을 에디터 프로그램에서 열어본다. SET NAMES utf8mb4란 문구를 찾을 수 있다. 그럼 해당 파일의 utf8mb4를 utf8로 바꾸고 저장하고 다시 불러오면 해결이 된다. 젤 위쪽에 한개가 있었다. 아래 데이터에도 있을 수 있다. 모든 경우의 수를 내가 다 겪진 못하므로 내 상황은 sql 파일 상단에 한줄 SET NAMES utf8mb4이 있어서 utf8로 변경만 해주었다. 아래쪽에 데이터 한번 훑어보고 utf8mb..
mysql 게시물 랜덤 추출 등록되어 있는 수십개의 게시물 중에서 랜덤으로 가져와야 할 경우가 자주 발생을 한다. 정렬을 해서 상위 몇개만 가져올 경우도 있고 오롯이 랜덤에서 추출할 경우도 있다. SELECT 컬럼, 컬럼... FROM 테이블이름 order by rand() limit 50 조회된 테이블에서 랜덤으로 50개만 가져온다. limit를 빼면 랜덤으로 정렬시킨다. 서브쿼리를 활용하여 하는 부분도 활용을 해서 자주 한다. 데이터 량이 많으면 고심을 해봐야 하는 문제가 발생한다. 적을 때는 신경을 안 써도 되는 부분이 SELECT JOIN 서브쿼리로 미리 랜덤 갯수를 가져와서 비교해본다.
euckr -> utf8 백업 / 복구 mysql 4.0(euc_kr) 을 5.0(utf-8)으로 이동하는 방법 콘솔에서 1.mysqldump --default-character-set=euckr db명 > backup.sql 1.1. 문제 : mysqldump: Character set 'euckr' is not a compiled character set and is not specified in the '/usr/local/mysql/share/mysql/charsets/Index' file 설명 : mysql 4.0은 euc_kr이다. 아래와 같이 바꿔준다. 참고 : 4.0은 euc_kr을 쓰고 4.1이상은 euckr이다. - mysqldump --default-character-set=euc_kr db명 > backup.sql 2.2..