[DB] MariaDB
MariaDB
상용으로 쓰는 MySQL과 다르게 MariaDB는 무료로 사용이 가능하다.
설치
vi /etc/yum.repos.d/MariaDB.repo # MariaDB 10.5 버전을 설치할 예정이다.
MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum install -y MariaDB-server MariaDB-client # 설치
rpm -qa | grep -i mariadb # 설치 확인
실행
systemctl start mariadb # db서버 실행
/usr/bin/mysqladmin -u root password # db 비밀번호 설정
mysql -u root -p # db서버에 접속
select @@datadir; --경로 확인
MariaDB 저장 경로 바꾸기
systemctl stop mariadb # 수정을 위해 잠깐 서버를 끈다.
cp -R /var/lib/mysql /root/mysql_bak # 원래 데이터 백업
rsync -av /var/lib/mysql /data # 원래데이터를 /data 디렉터리로 옮겨준다.
chown -R mysql:mysql /data # 소유자 권한 수정
vi /etc/my.cnf.d/server.cnf # 설정 파일 변경하기
[mariadb-10.5]
datadir=/data
socket=/data/mysql/mysql.sock
[client]
socket=/data/mysql/mysql.sock
vi /usr/lib/systemd/system/mariadb.service # 마리아db 디렉터리 제한 해제(원래는 지정된 디렉터리만 된다.)
확인
systemctl restart mariadb # db서버 실행
mysql -u root -p # db서버 접속
select @@datadir;
경로가 성공적으로 변경됐다.
데몬 설정
systemctl daemon-reload # 데몬을 리로드 해서 재부팅해도 자동으로 켜지게 만든다.
service mariadb start
에러
실행내용확인
만약 실행이 되지 않았다면 다음 코드로 내역을 확인해본다.
cat /var/log/messages
Cant open and lock privilege tables: Table
mysql,user doesn
t exist
다음과 같은 에러가 발생하면 다음 설정 파일에 다음 코드(skip-grant-tables
)를 추가한다.
vi /etc/my.cnf.d/server.cnf