답변 2개
채택된 답변
+20 포인트
1년 전
※ 우선, 백업 - , DB의 중요성을 인지하고 신중히 진행하세요. - 꼭 필요하가?하는 고민 한 번 하시길~~
※ DB가 더 많은 문자를 지원 하게 하시려는 것인가요?
-- 고민을 좀 하시고 시도 하세요.
♠ 구체적인 개요를 설명 하자면 ;
-- 백업 우선 > SQL 쿼리를 작성 > 쿼리를 실행( 직접실행, 반복실행 ) > 파일 포맷을 설정 > 옵션 활성
! phpmyadmin 접속 > DB 선택 > 내보내기 > SQL 형식내보내기(빠른내보내기) = 백업
! 쉘에서는 mysqldump 사용 = 백업
Copy
mysqldump -u 사용자 이름 -p 데이터베이스 이름 > backup할 DB 이름.sql
! 문자셋을 변경하는 쿼리
Copy
USE your_database_name;
ALTER TABLE 테이블명 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
! phpmyadmin에서 sql 탭을 한 개씩 변경 하는 경우 - 쿼리 직접 실행
Copy
ALTER TABLE 테이블1 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE 테이블2 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
. . .
! mysql cli에서 반복 실행
Copy
SET @schema = 'DB-name';
SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;')
FROM information_schema.tables
WHERE table_schema = @schema
AND table_type = 'BASE TABLE';
! 포멧 설정, 옵션 활성
Copy
SET GLOBAL innodb_file_format = 'Barracuda';
SET GLOBAL innodb_large_prefix = 1;
♣ 모든 테이블 일괄 실행 : PHP 스크립트
Copy
데이터베이스의 모든 테이블을 utf8mb4_general_ci로 일괄 변경
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인