![Google Clips: Google의 새로운 카메라](/f/1eeaf31740d77dc858a763c76c681680.jpg?width=100&height=100)
의 구성 요소를 설치한 후 CentOS/RHEL 7 서버의 LAMP 스택, 몇 가지 작업을 수행할 수 있습니다.
그들 중 일부는 다음과 관련이 있습니다. Apache 및 MySQL/MariaDB의 보안 강화, 다른 것들은 우리의 설정이나 필요에 따라 적용되거나 적용되지 않을 수 있습니다.
예를 들어, 데이터베이스 서버의 예상 사용에 따라 기본값을 변경할 수 있습니다. 데이터 디렉토리(/var/lib/mysql
) 다른 위치로 이동합니다. 이러한 디렉토리는 사용량이 많아 증가할 것으로 예상되는 경우입니다.
그렇지 않으면 파일 시스템이 /var
한 지점에서 붕괴되어 전체 시스템이 고장날 수 있습니다. 기본 디렉토리를 변경하는 또 다른 시나리오는 실제 데이터를 저장하는 데 사용할 전용 네트워크 공유가 있는 경우입니다.
이러한 이유로 이 기사에서는 CentOS/RHEL 7 서버 및 Ubuntu/Debian 배포판에서 기본 MySQL/MariaDB 데이터 디렉터리를 다른 경로로 변경하는 방법을 설명합니다.
비록 우리는 마리아DB, 설명된 개념과 이 문서에서 취한 단계는 두 가지 모두에 적용됩니다. MySQL 그리고 마리아DB 달리 명시되지 않는 한.
메모: 우리는 우리의 새로운 데이터 디렉토리가 다음과 같다고 가정할 것입니다. /mnt/mysql-data
. 이 디렉토리는 다음이 소유해야 합니다. mysql: mysql
.
# mkdir /mnt/mysql-data.xml # chown -R mysql: mysql /mnt/mysql-data.mnt.
편의를 위해 프로세스를 따라하기 쉬운 5단계로 나누었습니다.
시작하려면 다음 명령을 사용하여 현재 데이터 디렉토리를 식별하는 것이 좋습니다. 아직 있다고 가정하지 마십시오. /var/lib/mysql
과거에 변경되었을 수 있기 때문입니다.
# mysql -u root -p -e "SELECT @@datadir;"
MySQL 암호를 입력한 후 출력은 다음과 유사해야 합니다.
데이터 손상을 방지하려면 계속하기 전에 현재 실행 중인 서비스를 중지하십시오. 사용 시스템 그렇게 하는 잘 알려진 명령:
시스템D에서 # systemctl mariadb를 중지합니다. # systemctl is-active mariadb SysVInit에서 # 서비스 mysqld 중지. # 서비스 mysqld 상태 또는 # 서비스 mysql 중지. # 서비스 mysql 상태.
서비스가 중단된 경우 마지막 명령의 출력은 다음과 같아야 합니다.
그런 다음 재귀 적으로 내용을 복사하십시오. /var/lib/mysql
NS /mnt/mysql-data
원래 권한 및 타임스탬프 보존:
# cp -R -p /var/lib/mysql/* /mnt/mysql-data.
구성 파일(my.cnf
) 새 데이터 디렉토리(/mnt/mysql-data
이 경우).
# vi /etc/my.cnf. 또는. # vi /etc/mysql/my.cnf.
찾기 [mysqld]
그리고 [고객]
섹션을 만들고 다음과 같이 변경합니다.
[mysqld] 아래: datadir=/mnt/mysql-data.xml 소켓=/mnt/mysql-data/mysql.sock [클라이언트] 아래: 포트=3306. 소켓=/mnt/mysql-data/mysql.sock.
변경 사항을 저장하고 다음 단계를 진행합니다.
이 단계는 다음에만 적용됩니다. RHEL/CentOS 및 그 파생 상품.
SELinux 보안 컨텍스트 추가 /mnt/mysql-data
MariaDB를 다시 시작하기 전에.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # restorecon -R /mnt/mysql-data.
다음으로 MySQL 서비스를 다시 시작합니다.
시스템D에서 # systemctl mariadb를 중지합니다. # systemctl is-active mariadb SysVInit에서 # 서비스 mysqld 중지. # 서비스 mysqld 상태 또는 # 서비스 mysql 중지. # 서비스 mysql 상태.
이제 다음과 같은 명령을 사용하십시오. 1 단계 새 데이터 디렉토리의 위치를 확인하려면:
# mysql -u root -p -e "SELECT @@datadir;"
MariaDB에 로그인하여 새 데이터베이스를 만든 다음 확인하십시오. /mnt/mysql-data
:
# mysql -u root -p -e "데이터베이스 생성 tecmint;"
축하합니다! MySQL 또는 MariaDB의 데이터 디렉토리를 성공적으로 변경했습니다.
이 게시물에서는 CentOS/RHEL 7 및 Ubuntu/Debian 배포판에서 실행되는 MySQL 또는 MariaDB 서버에서 데이터 디렉터리를 변경하는 방법에 대해 논의했습니다.
이 기사에 대해 질문이나 의견이 있습니까? 아래 양식을 사용하여 자유롭게 알려주십시오. 우리는 항상 귀하의 의견을 기쁘게 생각합니다!