본문 바로가기

3-4. DATABASE/MySQL

mysql 4.1 업데이트시 유의사항

# Centos 5에 설치된 my.cnf파일을 지우고, 컨피그 파일을 복사해둔다.
cp  /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf

# 데이터가 들어갈 폴더의 권한설정을 잘 해준다.
chown  -R mysql.mysql /usr/local/mysql/share/mysql/var


# mysql 서버를 띄우면 아래와 같은 에러를 띄우며 죽을때..
 4.1로 바뀌면서 테이블의 구조가 변경되면서 생기는 에러 메시지..
 090205 15:50:33  mysqld started
InnoDB: Warning: we did not need to do crash recovery, but log scan
InnoDB: progressed past the checkpoint lsn 0 43792 up to lsn 0 43829
090205 15:50:34  InnoDB: Started; log sequence number 0 43792
090205 15:50:34 [Warning] './mysql/host' had no or invalid character set, and default character set is multi-byte, so character column sizes may have changed
090205 15:50:34 [Warning] './mysql/user' had no or invalid character set, and default character set is multi-byte, so character column sizes may have changed
090205 15:50:34 [Warning] './mysql/db' had no or invalid character set, and default character set is multi-byte, so character column sizes may have changed
090205 15:50:34 [ERROR] Fatal error: mysql.user table is damaged or in unsupported 3.20 format.
090205 15:50:34  mysqld ended

이것은 mysql의 user를 관리하는 table이 3.20 포맷으로 만들어졌기 때문 입니다.
임시적으로 아래와 같이 실행할수잇읍니다.

 [root@localhost]# mysqld_safe --skip-grant-tables --user=mysql &
 
 [root@localhost]# mysql_fix_privilege_tables --password=MySQL_ROOT_PASSWORD
This script updates all the mysql privilege tables to be usable by
MySQL 4.0 and above.
This is needed if you want to use the new GRANT functions,
CREATE AGGREGATE FUNCTION, or the more secure passwords in 4.1
done

 [root@localhost]# /etc/init.d/mysqld start
Starting MySQL[  OK  ]
// 펌'd by http://www.hanserver.com/center/tip_view.php?SearchGB=L&TipIDX=57&selTipGB=05&selTipOS=0&selTarget=title&txtKeyWord=&PageNo=1

그리고 마지막으로 한글이 깨지는 현상

my.cnf 파일에서 아래와 같이 설정하면 한글이 안깨짐
 [mysqld]
character_sets=latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5 character-set-client-handshake = FALSE