Plesk로 관리되는 CentOS7의 MariaDB를 5.5에서 10.3으로 업그레이드

소개



VPS에 CentOS7을 선택, Plesk로 관리하고 있습니다.
기본 DB가 MariaDB5.5이므로 MariaDB10.3으로 업그레이드했습니다.
그 절차가 됩니다.

Plesk가 없으면 yum으로 바삭바삭하게 업그레이드 버립니다만, Plesk로 시스템 관리를 하는 관계상, Plesk에 다가간 업그레이드를 할 필요가 있습니다.

실제 업그레이드 절차는 Plesk 사이트에서 How to upgrade MySQL 5.5 to 5.6/5.7 or MariaDB 5.5 to 10.0/10.1/10.2 on Linux?에 게시되어 있으므로이 절차를 따르십시오.

또, 보완으로서, MariaDB10.2부터 SQL 모드의 디폴트치가 변경이 되었으므로, 그 보정 설정도 마지막에 추기하고 있습니다. 이전 웹 앱을 사용하는 경우 확인하세요.

초보자도 이해할 수 있도록 스쿠쇼 많게 해 보았습니다.

CentOS6의 MySQL5.1에서 5.6으로 업그레이드하는 경우 다음을 참조하십시오.
htps : // 이 m/여기에/있어 ms/2775d48955cd5f78 아 f4

주의



2019/11/27 현재 MariaDB10.3은 Plesk Obsidian에서만 사용할 수 있습니다.
Onyx 및 그 이전에는 지원하지 않으므로주의하시기 바랍니다.

Plesk에 로그인하여 오른쪽 사이드바의 "시스템 개요"에 Plesk 버전이 포함되어 있습니다.



업그레이드 절차



OS 및 MariaDB 버전 확인



이 기사에서 CentOS7이라고 명중하고 있습니다만, 이 기사를 본 분의 OS가 CentOS7이 아닐지도 모릅니다.
제대로 확인합시다.
# plesk version | grep "OS version"
 OS Version: CentOS 7.7.1908 x86_64

# rpm -qa | grep -i maria
mariadb-5.5.64-1.el7.x86_64
mariadb-server-5.5.64-1.el7.x86_64
mariadb-libs-5.5.64-1.el7.x86_64
mariadb-devel-5.5.64-1.el7.x86_64
plesk-libmariadbclient-1.0-1.0.0-1centos.7.190329.1026.x86_64
sw-mariadb-client-1.0.0-centos7.16102516.x86_64
plesk-libmariadbclient-3.0-3.0.9-1centos.7.190417.1743.x86_64



기존 DB 백업


# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --all-databases --routines --triggers > /tmp/all-databases.sql

MariaDB 중지


# service mariadb stop



mariadb-bench와 같은 추가 패키지 삭제



기본 상태로 설치되지 않았습니다.
# rpm -e --nodeps mariadb-bench
error: package mariadb-bench is not installed

DB 데이터의 실제 상태를 백업합니다.


# cp -v -a /var/lib/mysql/ /var/lib/mysql_backup



mysql-server가 설치되어 있지 않은지 확인



만약에 만념을 넣어라는 것이군요.
# rpm -q --whatprovides mysql-server
インストールされていない場合
 no package provides mysql-server

インストールされている場合は、以下で削除する

# rpm -e --nodeps `rpm -q --whatprovides mysql-server`



MariaDB 사이트에서 리포지토리 정보 얻기



Setting MariaDB 10.3 repositories에서 MariaDB10.3의 리포지토리 설정 정보를 얻습니다.

10.3 이외에도 선택할 수 있습니다.



리포지토리 정보를 씁니다.


vi /etc/yum.repos.d/MariaDB.repo

viで開くと新規ファイルなので、空の状態です。
先のサイトで取得した設定を書き込ます。以下は10.3の情報です。

# MariaDB 10.3 CentOS repository list - created 2019-11-27 14:30 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

MariaDB를 업데이트합니다.



도중에 선택이 나왔다면 'y'키로 문제 없습니다.
마지막으로 "Complete!"가 표시되면 설치가 완료됩니다.
# yum install MariaDB-client MariaDB-server









MariaDB를 시작합니다.


# service mariadb start



MySQL5.5 데이터베이스를 업그레이드합니다.


# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin





MariaDB를 다시 시작합니다.


# service mariadb restart

Plesk의 내부 패키지 버전을 업데이트합니다.


# plesk sbin packagemng -sdf

시작 스크립트 수정


mysqlを止めます。
# systemctl stop mysql; killall mysqld
mysqlの起動スクリプトを削除します。
# rm /etc/init.d/mysql && systemctl daemon-reload 
mariadbを登録します。
# systemctl start mariadb
OSの起動時にMariaDBも起動するように指定します。
# systemctl enable mariadb

Plesk에서 버전 확인





【보충】SQL_mode의 변경



MariaDB 10.2부터는 기본적으로 sql_mode가 변경되어 SQL을 엄격하게 확인합니다.
이 때문에 MySQL을 이용하는 낡은 Web 어플리케이션이 움직이지 않는 경우가 있기 때문에, 수정을 합니다.

server.cnf의 [mariadb] 열에 'sql_mode='''를 추가하고 서버를 다시 시작합니다.
# vi /etc/my.cnf.d/server.cnf

[mariadb] 
sql_mode='' <=追加

# service mariadb restart



그 후, 커맨드 라인에서도, PHPMYADMIN에서도, sql_mode를 확인해 공란이 되어 있으면 OK입니다.



참고문헌


  • How to upgrade MySQL 5.5 to 5.6/5.7 or MariaDB 5.5 to 10.0/10.1/10.2 on Linux?
  • CentOS7의 MariaDB5.5를 10.3으로 업그레이드
  • MariaDB(MySQL)를 업그레이드하면 INSERT에 실패. [SQL_MODE]
  • MySQL의 SQL 모드 설정
  • 좋은 웹페이지 즐겨찾기