테스트 사이트 - 개발 중인 베타 버전입니다

MySQL 3.23.x에서 4.0.x로 업그레이드시 주의사항

· 20년 전 · 2853
MySQL 4.0.2 버전후 MySQL user 테이블등의 필드가 많이 추가되었다.

4.0.2 이전의 시스템에서 DB를 덤프 후 MySQL만 업그레이드 할경우 일반 사용자들도
'show databases'로 시스템의 모든 데이터베이스를 열람할 수 있게된다. 보안상 좋
지 않으므로 자신의 데이터베이스만 열람할 수 있도록 설정하는게 좋다.

이전에는 --safe-show-databases 를 이용했지만 4.0.2 버전이후로는 권한개념으로
사용자 추가할때 GRANT 명령을 사용해야한다.

아래와 같이 user 테이블에 당당히 권한 필드로 승격(?)되었다.

mysql> desc user;
+-----------------------+-------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-------------------+------+-----+---------+-------+
...
| Show_db_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
...
+-----------------------+-------------------+------+-----+---------+-------+
31 rows in set (0.00 sec)

처음부터 4.0.2이전의 버전을 사용할 경우문제가 없지만 이전의 버전을 사용할 경우
테이블 변경과 몇가지 설정을 해야한다.


------------------------------------------------------------------------------

4.0.2이전 버전에서 업그래이드 하기

1. MySQL 서버는 동작하고 있어야한다.

2. $PREFIX/mysql/bin 디렉토리에서 'mysql_fix_privilege_tables'명령을 아래와
같이 실행한다.

# $PREFIX/mysql/bin/mysql_fix_privilege_tables [ROOT-PASSWORD]

MySQL root 패스워드를 인자로 주고 실행하면 테이블이 변경된다.

3. 테이블이 변경되면 Show_db_priv 필드는 기본으로 'N'이 설정되지만 'Create_tmp_table_priv' 필드와 'Lock_tables_priv'필드는 'Y'로 설정되므로 각
사용자의 설정값을 'N'으로 변경해준다. db테이블의 Lock_tables_priv 기본값은 'Y'
로 변경한다.

4. mysql> flush


... 관련문서
http://mysql.progen.com.tr/doc/en/Upgrading-from-3.23.html



출처 : http://hwadong.pe.kr/v5/pinkboard/view.php?table=mytip&RNUM=66&=66

펌 : http://bux.pe.kr/xy_bb/board.php?id=naver&category=5&board_sec=0&page=1&mode=view&no=110<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:27:00 MySQL에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
876
875
17847
872
17845
869
865
860
855
17839
850
JavaScript 이동툴 4
843
839
17835
830
829
822
814
807
804
801
798
797
796
795