IT Japan

MySQL 업그레이드 본문

MySQL

MySQL 업그레이드

swhwang 2015. 1. 13. 21:52
반응형
1.     공통
작업전의 기본, 백업을 한다.
#mysqldump –p –all-databases > ./all-data_20130523.sql
#cp –p /etc/my.cnffff /etc/my.cnfff_20130523_old

http://dev.mysql.com/downloads/mysql/#downloads로부터 해당하는 OS용의 MySQL-5.5최신 패키지를 취득한다.
※1 FreeBSD우ㅏportsを介して導入する場合は不要。
※2 CentOSの경우는、다음의 rpm패키지를 취득한다(i86머신+64bit OS의 경우)。
•     MySQL-server-5.5.18-1.linux2.6.x86_64.rpm
•     MySQL-client-5.5.18-1.linux2.6.x86_64.rpm
•     MySQL-devel-5.5.18-1.linux2.6.x86_64.rpm
•     MySQL-shared-compat-5.5.18-1.linux2.6.x86_64.rpm
※※ remi리포지터리를 사용해서yum으로 도입하는 방법도 있다.

옵션파일(/etc/my.cnfff)의 일부를 수정한다.
다음의 옵션지정행은 커맨트아웃한다.
[mysqld]
character-set-server=utf8mb4
#default-character-set=utf8
collation-server=utf8mb4_general_ci
#collation-server=utf8_general_ci
#log-long-format
2.데이터베이스를 정지한다.
# /etc/init.d/mysql stop

2-1.기존 데이터베이스의 관련 파일군을 삭제한다.
# yum remove mysql-server.x86_64 mysql-devel.x86_64
perl-DBD-MySQL.x86_64등의 MySQL드라이버가 삭제된 경우는、새로운 데이터베이스도입시에새롭게# yum localinstall perl-DBD-MySQL-4.014-1.el5.rfx.x86_64.rpm  도입해서 고칠것。
# yum localinstall perl-DBD-MySQL-4.014-1.el5.rfx.x86_64.rpm
데이터베이스를 기동한다.
#/etc/init.d/mysql start
Oracle 공의 rpm패키지의 경우、기동화일이 CentOS의base 리포지터리(배포판과 다른 이름/etc/rc.d/initd/mysql)으로 작성되는데, 필요에 따라서、이름을 변경하는등의 대응을 한다.
Oracle의rpm패키지에는, 도입시에 자동기동설정이 삭제되므로, 새롭게 자동설정을 할 필요가 있다.
# /sbin/chkconfig --add mysql
# /sbin/chkconfig mysql on
# /sbin/chkconfig --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

3.FreeBSD-7-STABLE
/usr/local/etc/pkg_tools.conf로 빌드옵션을 추가(대문자)
MAKE_ARGS = {
'databases/mysql41-client' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'databases/mysql41-server' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'databases/mysql50-client' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'databases/mysql50-server' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'databases/mysql51-client' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'databases/mysql51-server' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'databases/mysql55-client' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'databases/mysql55-server' => 'WITH_CHARSET=ujis WITH_XCHARSET=all',
'editors/openoffice.org-2' => 'LOCALIZED_LANG=alllangs',
'*' => 'WITHOUT_IPV6=yes',
}

데이터베이스를 정지한다。
# /usr/local/etc/rc.d/mysql-server stop

구버젼의MySQL관련 모듈을 ports시스템을 사용해서 삭제한다,
# pkg_deinstall -fv mysql-client-5.1.60 mysql-server-5.1.60 p5-DBD-mysql51-4.019

새버젼의MySQL관련모듈을ports시스템을 사용해서 도입한다.
# portinstall -vp databases/mysql55-server databases/p5-DBD-mysql55

데이터베이스를 기동한다.。
# /usr/local/etc/rc.d/mysql-server start

4.공통
mysql_upgrade로 테이블포맷의 업그레이드를 한다.
# mysql_upgrade -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Running 'mysqlcheck with default connection arguments
books.booklist
error    : Table upgrade required. Please do "REPAIR TABLE `booklist`" or dump/reload to fix it!
epco_advisory.Company
error    : Table upgrade required. Please do "REPAIR TABLE `Company`" or dump/reload to fix it!
events.Event                                       OK
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.help_category
error    : Table upgrade required. Please do "REPAIR TABLE `help_category`" or dump/reload to fix it!
mysql.help_keyword
error    : Table upgrade required. Please do "REPAIR TABLE `help_keyword`" or dump/reload to fix it!
mysql.help_relation                                OK
mysql.help_topic
error    : Table upgrade required. Please do "REPAIR TABLE `help_topic`" or dump/reload to fix it!
mysql.host                                         OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc
error    : Table upgrade required. Please do "REPAIR TABLE `proc`" or dump/reload to fix it!
mysql.procs_priv                                   OK
mysql.servers                                      OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name
error    : Table upgrade required. Please do "REPAIR TABLE `time_zone_name`" or dump/reload to fix it!
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
test.userpref                                      OK
test_inno.data                                     OK

Repairing tables
books.booklist                                     OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_topic                                   OK
mysql.proc                                         OK
mysql.time_zone_name                               OK
Running 'mysql_fix_privilege_tables'...
OK
#

apache등、MySQL을 참조하는 어플리케이션이 동작하고 있는 경우는, 각각을 restart시킨다.



반응형

'MySQL' 카테고리의 다른 글

MySQL Parameter(my.cnf) 권장 값  (0) 2016.03.21
MySQL StatList  (0) 2016.03.21
MySQL 튜닝  (0) 2015.01.13
MySQL기동시 다음과 같은 에러메세지가 나올경우  (0) 2015.01.13
OPTIMIZE TABLE  (0) 2015.01.13
Comments