2.1 다운로드
2.2 설치
2.2.1 윈도우 버전 설치
- 윈도우 버전에서는 XtraDB 스토리지 엔진을 지원하지 않는다고 하니, 공부를 하는 경우 리눅스 버전 설치를 권장한다.
- MSI 인스톨러 버전을 디폴트 설정으로 "다음"만 잘 눌러주면 설치가 끝난다.
- zip 압축버전의 경우 압축만 풀고, my.cnf 환경설정만 하면 설치가 완료된다.
2.2.2 리눅스 버전 설치
- RPM 버전과 tar.gz 압축버전 제공되며, 레드햇이나 CentOS의 경우 YUM이라는 자동화 패키지 툴로 설치가능하다.
2.2.2.1 RPM을 이용한 설치
RPM을 이용한 설치 방법
shell> rpm -Uvn MariaDB-10.1.22-centos7-x86_64-client.rpm
shell> rpm -Uvn MariaDB-10.1.22-centos7-x86_64-devel.rpm
shell> rpm -Uvn MariaDB-10.1.22-centos7-x86_64-server.rpm
shell> rpm -Uvn MariaDB-10.1.22-centos7-x86_64-shared.rpm
Centos7에 YUM을 이용한 설치방법
## 설치여부 확인
[root@localhost ~]# rpm -qa|grep MariaDB
[root@localhost ~]#
## 저장소 확인
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.oasis.onnetcorp.com
* extras: mirror.oasis.onnetcorp.com
* updates: mirror.oasis.onnetcorp.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base 9,363
extras/7/x86_64 CentOS-7 - Extras 311
updates/7/x86_64 CentOS-7 - Updates 1,111
repolist: 10,785
## 저장소 추가
[root@localhost ~]# vi /etc/yum.repos.d/MariaDB.repo
## baseurl은 OS에 맞게 세팅이 필요함(http://yum.mariadb.org 에서 확인 가능함)
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
## 추가된 저장소 확인
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.oasis.onnetcorp.com
* extras: mirror.oasis.onnetcorp.com
* updates: mirror.oasis.onnetcorp.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base 9,363
extras/7/x86_64 CentOS-7 - Extras 311
mariadb MariaDB 15
updates/7/x86_64 CentOS-7 - Updates 1,126
repolist: 10,815
## 설치
[root@localhost ~]# yum install -y MariaDB MariaDB-server MariaDB-client
==================================================================================================================
Package Arch Version Repository Size
==================================================================================================================
Installing:
MariaDB-client x86_64 10.1.22-1.el7.centos mariadb 39 M
MariaDB-server x86_64 10.1.22-1.el7.centos mariadb 101 M
Updating:
dracut x86_64 033-463.el7 base 317 k
initscripts x86_64 9.49.37-1.el7 base 431 k
Installing for dependencies:
MariaDB-common x86_64 10.1.22-1.el7.centos mariadb 123 k
galera x86_64 25.3.19-1.rhel7.el7.centos mariadb 8.0 M
jemalloc x86_64 3.6.0-1.el7 mariadb 104 k
Updating for dependencies:
dracut-config-rescue x86_64 033-463.el7 base 54 k
dracut-network x86_64 033-463.el7 base 96 k
glib2 x86_64 2.46.2-4.el7 base 2.3 M
glib2-devel x86_64 2.46.2-4.el7 base 459 k
kmod x86_64 20-9.el7 base 115 k
libgudev1 x86_64 219-30.el7_3.7 updates 76 k
libgudev1-devel x86_64 219-30.el7_3.7 updates 88 k
systemd x86_64 219-30.el7_3.7 updates 5.2 M
systemd-devel x86_64 219-30.el7_3.7 updates 179 k
systemd-libs x86_64 219-30.el7_3.7 updates 369 k
systemd-python x86_64 219-30.el7_3.7 updates 109 k
systemd-sysv x86_64 219-30.el7_3.7 updates 63 k
Transaction Summary
==================================================================================================================
Install 2 Packages (+ 3 Dependent packages)
Upgrade 2 Packages (+12 Dependent packages)
............... 중 략 ..............
Installed:
MariaDB-client.x86_64 0:10.1.22-1.el7.centos MariaDB-server.x86_64 0:10.1.22-1.el7.centos
Dependency Installed:
MariaDB-common.x86_64 0:10.1.22-1.el7.centos galera.x86_64 0:25.3.19-1.rhel7.el7.centos
jemalloc.x86_64 0:3.6.0-1.el7
Updated:
dracut.x86_64 0:033-463.el7 initscripts.x86_64 0:9.49.37-1.el7
Dependency Updated:
dracut-config-rescue.x86_64 0:033-463.el7 dracut-network.x86_64 0:033-463.el7
glib2.x86_64 0:2.46.2-4.el7 glib2-devel.x86_64 0:2.46.2-4.el7
kmod.x86_64 0:20-9.el7 libgudev1.x86_64 0:219-30.el7_3.7
libgudev1-devel.x86_64 0:219-30.el7_3.7 systemd.x86_64 0:219-30.el7_3.7
systemd-devel.x86_64 0:219-30.el7_3.7 systemd-libs.x86_64 0:219-30.el7_3.7
systemd-python.x86_64 0:219-30.el7_3.7 systemd-sysv.x86_64 0:219-30.el7_3.7
## 마리아 디비 실행
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# ps -ef|grep mysql
mysql 7759 1 1 18:06 ? 00:00:00 /usr/sbin/mysqld
root 7874 5300 0 18:06 pts/0 00:00:00 grep --color=auto mysql
## 루트 패스워드 설정
[root@localhost ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
## 서비스에 등록하기(설정하면 부팅시 자동 기동된다.)
[root@localhost ~]# systemctl enable mariadb.service
[root@localhost ~]# systemctl is-enabled mariadb
enabled
2.2.2.2 압축(tar.gz)된 MariaDB설치
- 압축을 풀고 my.cnf만 설정하면 설치 완료
2.3 업그레이드
2.3.1 MySQL -> MariaDB로 업그레이드할 때 주의사항
- 임시 테이블 스토리지 엔진이 MySQL은 MyISAM, MariaDB는 Aria 를 사용하므로 아래와 같이 설정이 필요
aria-pagecache-buffer-size = 64M
- 마스터와 슬레이브 MySQL 서버를 각각 업그레이드 할 경우, MariaDB의 바이너리 로그를 MySQL서버에서 인식못하는 경우가 있으므로 슬레이브를 먼저 업그레이드 하도록 하자.
2.3.2 버전과 관계없이 가장 안전한 방법
- mysqldump와 같은 백업툴을 이용한다.(ANSI 쿼리문을 생성해주므로, 모든 버전으로 마이그레이션 가능)
1. shell > mysqldump -u root -p --all-database > backup.dump
2. MariaDB설치
3. shell > mysql -u root -p < backup.dump
4. shell > mysql_upgrade --verbose (딕셔너리 테이블 구조를 MariaDB에 맞게 업그레이드 해주는 작업)
2.3.3 MySQL 5.1 -> MariaDB 5.5 업그레이드
- 데이터 포맷의 변화가 거의 없으므로 데이터 파일을 그대로 둔채, MySQL를 삭제하고 MariaDB 설치, mysql_upgrade를 실행한다.
2.3.4 MySQL 5.5 -> MariaDB 5.5 업그레이드
- 데이터 포맷 및 딕셔너리 정보도 동일하므로 데이터 파일은 그대로 둔채, MySQL만 삭제하고 MariaDB만 설치한다.