테스트 환경
NCP 리눅스 서버 1대 생성
OS : Ubuntu 20.04
DB : MySQL 8.0
1) mysqld.cnf 수정
vi /etc/mysql/mysql.conf.d/mysqld.cnf
-아래 내용 참고하여 수정-
[mysqld]
#
# * Basic Settings
#
user = mysql
#pid-file = /var/run/mysqld/mysqld.pid
pid-file = /data/mysql/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
# port = 3306
# datadir = /var/lib/mysql
datadir = /data/mysql
2) usr.sbin.mysqld 수정
vi /etc/apparmor.d/usr.sbin.mysqld
-아래 내용 참고하여 수정-
# Allow data dir access
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/data/mysql/ r,
/data/mysql/mysql/** rwk,
3) alias 수정
vi /etc/apparmor.d/tunables/alias
# Or if mysql databases are stored in /home:
# alias /var/lib/mysql/ -> /home/mysql/,
alias /var/lib/mysql/ -> /data/mysql/,
cp /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/abstractions/mysql.ori
vi /etc/apparmor.d/abstractions/mysql
-아래 내용 참고하여 수정-
# /var/lib/mysql{,d}/mysql{,d}.sock rw,
/data/mysql{,d}/mysql{,d}.sock rw,
/{var/,}run/mysql{,d}/mysql{,d}.sock rw,
/usr/share/{mysql,mysql-community-server,mariadb}/charsets/ r,
/usr/share/{mysql,mysql-community-server,mariadb}/charsets/*.xml r,
4) apparmor profile 비활성화
apt install apparmor-utils
aa-status | grep mysql
aa-disable /usr/sbin/mysqld
모든 설정 완료 후, apparmor profile reload
/etc/init.d/apparmor reload
5) MySQL 시작 및 변경된 저장소 위치 확인
systemctl start mysql
systemctl status mysql
mysql -h localhost -u root -p
-mysql 접속 후, 데이터 저장소 위치 확인-
select @@datadir;
이슈사항 정리
3) 까지만 진행한 뒤 mysql 서비스 시작시, 아래와 같은 에러 발생 > 4) apparmor profile 비활성화 진행 후, 해결
'Linux Server' 카테고리의 다른 글
[Linux] Ubuntu에서 CUDA 설치하기 (0) | 2022.09.19 |
---|---|
[Linux] Ubuntu 20.04 Apache2 Webdav 구축 (1) | 2022.09.16 |
[Linux] Ubuntu MySQL 8.0 root계정 설정 (0) | 2022.09.16 |
[Linux] CentOS 에서 Apache 설치(컴파일) (0) | 2022.09.16 |
[Linux] Ubuntu 에서 Apache 설치(컴파일) (0) | 2022.09.13 |