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

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

· 20년 전 · 4946
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>

댓글 작성

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

로그인하기

게시글 목록

번호 제목
250
247
246
244
243
238
233
232
231
230
228
225
224
223
220
217
216
214
213
212
211
210
208
207
206
205
204
203
202
201