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입니다.
참고문헌
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입니다.
참고문헌
# 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
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --all-databases --routines --triggers > /tmp/all-databases.sql
# service mariadb stop
# rpm -e --nodeps mariadb-bench
error: package mariadb-bench is not installed
# cp -v -a /var/lib/mysql/ /var/lib/mysql_backup
# rpm -q --whatprovides mysql-server
インストールされていない場合
no package provides mysql-server
インストールされている場合は、以下で削除する
# rpm -e --nodeps `rpm -q --whatprovides mysql-server`
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
# yum install MariaDB-client MariaDB-server
# service mariadb start
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin
# service mariadb restart
# 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
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입니다.
참고문헌
Reference
이 문제에 관하여(Plesk로 관리되는 CentOS7의 MariaDB를 5.5에서 10.3으로 업그레이드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/idani/items/fc16cf52d487cacd6fcb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)