Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
* 참고 : https://mariadb.com/blog/upgrading-mysql-51-mariadb-100-centos-6
0. 참고 URL을 이용하여 작업을 했는데 5.1->5.5->10.1로 진행하려 했으나 따라 했더니 5.1에서 10.1.18로 바로 진행되었다.
1. mariadb 5.1에서 바로 10.0으로 바로 upgrade가 되지 않는다. 그래서 5.1 to 5.5로 upgrade후에 10.1로 upgrade해야 한다.
2. db백업및 conf파일 백업
가. [root@so-db1 /usr/bin]$ mysqldump -p --all-databases > /tmp/backup.sql
나. [root@so-db1 /usr/bin]$ cp /etc/my.cnf /etc/my.cnf.bak
3. mysql 중지
[root@so-db1 /usr/bin]$ service mysqld stop
mysqld 를 정지 중: [ OK ]
4. data 디렉토리 백업
[root@so-db1 /usr/bin]$ cp -R /var/lib/mysql /tmp/mysql_backup
5. MariaDB 5.5 Repository설정(/etc/yum.repos.d밑에 생성하고 https://downloads.mariadb.org/mariadb/repositories/ 를 참고하여 생성한다)
vi /etc/yum.repos.d/MariaDB55.repo
# MariaDB 5.5 CentOS repository list - created 2016-11-01 02:31 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
6. repository cache정보를 정리한다.
[root@so-db1 ~]$ yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Repository mariadb is listed more than once in the configuration
Cleaning repos: base epel epel-erlang extras mariadb mongodb-org-3.2 remi-safe updates
Cleaning up Everything
7. Mariadb 5.1 삭제
[root@so-db1 ~]$ yum remove mysql-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.x86_64 0:5.1.73-5.el6_6 will be erased
--> Processing Dependency: mysql-server for package: akonadi-1.2.1-3.el6.x86_64
--> Running transaction check
---> Package akonadi.x86_64 0:1.2.1-3.el6 will be erased
--> Processing Dependency: libakonadiprotocolinternals.so.1()(64bit) for package: kdepimlibs-akonadi-4.3.4-4.el6.x86_64
--> Processing Dependency: libakonadiprotocolinternals.so.1()(64bit) for package: kdepim-runtime-4.3.4-5.el6.x86_64
--> Processing Dependency: libakonadiprotocolinternals.so.1()(64bit) for package: kdepim-runtime-libs-4.3.4-5.el6.x86_64
--> Processing Dependency: akonadi(x86-64) >= 1.2.0 for package: kdepimlibs-akonadi-4.3.4-4.el6.x86_64
--> Processing Dependency: akonadi(x86-64) >= 1.2.1 for package: kdepim-runtime-libs-4.3.4-5.el6.x86_64
--> Running transaction check
---> Package kdepim-runtime.x86_64 0:4.3.4-5.el6 will be erased
---> Package kdepim-runtime-libs.x86_64 0:4.3.4-5.el6 will be erased
---> Package kdepimlibs-akonadi.x86_64 0:4.3.4-4.el6 will be erased
--> Processing Dependency: libakonadi-kde.so.4()(64bit) for package: 6:kdepim-4.3.4-6.el6.x86_64
--> Running transaction check
---> Package kdepim.x86_64 6:4.3.4-6.el6 will be erased
--> Processing Dependency: kdepim = 6:4.3.4-6.el6 for package: 6:kdepim-libs-4.3.4-6.el6.x86_64
--> Running transaction check
---> Package kdepim-libs.x86_64 6:4.3.4-6.el6 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================================================================================================================
Removing:
mysql-server x86_64 5.1.73-5.el6_6 @base/$releasever 25 M
Removing for dependencies:
akonadi x86_64 1.2.1-3.el6 @base/$releasever 1.8 M
kdepim x86_64 6:4.3.4-6.el6 @base/$releasever 21 M
kdepim-libs x86_64 6:4.3.4-6.el6 @base/$releasever 20 M
kdepim-runtime x86_64 4.3.4-5.el6 @base/$releasever 3.2 M
kdepim-runtime-libs x86_64 4.3.4-5.el6 @base/$releasever 834 k
kdepimlibs-akonadi x86_64 4.3.4-4.el6 @base/$releasever 1.2 M
Transaction Summary
=====================================================================================================================================================================================================================
Remove 7 Package(s)
Installed size: 73 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Repository mariadb is listed more than once in the configuration
Erasing : kdepim-runtime-libs-4.3.4-5.el6.x86_64 1/7
Erasing : kdepim-runtime-4.3.4-5.el6.x86_64 2/7
Erasing : 6:kdepim-4.3.4-6.el6.x86_64 3/7
Erasing : 6:kdepim-libs-4.3.4-6.el6.x86_64 4/7
Erasing : kdepimlibs-akonadi-4.3.4-4.el6.x86_64 5/7
Erasing : akonadi-1.2.1-3.el6.x86_64 6/7
Erasing : mysql-server-5.1.73-5.el6_6.x86_64 7/7
Verifying : kdepim-runtime-4.3.4-5.el6.x86_64 1/7
Verifying : 6:kdepim-libs-4.3.4-6.el6.x86_64 2/7
Verifying : kdepim-runtime-libs-4.3.4-5.el6.x86_64 3/7
Verifying : mysql-server-5.1.73-5.el6_6.x86_64 4/7
Verifying : akonadi-1.2.1-3.el6.x86_64 5/7
Verifying : 6:kdepim-4.3.4-6.el6.x86_64 6/7
Verifying : kdepimlibs-akonadi-4.3.4-4.el6.x86_64 7/7
Removed:
mysql-server.x86_64 0:5.1.73-5.el6_6
Dependency Removed:
akonadi.x86_64 0:1.2.1-3.el6 kdepim.x86_64 6:4.3.4-6.el6 kdepim-libs.x86_64 6:4.3.4-6.el6 kdepim-runtime.x86_64 0:4.3.4-5.el6 kdepim-runtime-libs.x86_64 0:4.3.4-5.el6 kdepimlibs-akonadi.x86_64 0:4.3.4-4.el6
Complete!
8. MariaDB 5.5 설치
yum install mysql-server
9. MariaDB start
service mysql start
10. mysql_upgrade
mysql_upgrade -p
11. db확인
[root@so-db1 ~]$ mysql -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 18
Server version: 10.1.18-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| hive_metastore_db |
| information_schema |
| mysql |
| performance_schema |
| sda |
| sda2 |
| so |
| test |
| test1 |
+--------------------+
9 rows in set (0.00 sec)
*참고 : 아래와 같은 오류가 발생하면 "mysqldump -u root -p --all-databases > /tmp/backup.sql" 로 실행한다.
(오류내용: mysqldump: Got error: 1045: "Access denied for user 'root'@'localhost' (using password: NO)" when trying to connect)