WSL 환경에서 DB 설정 방법에 대해 정리했습니다.
우선 기본적으로 윈도우 환경이며, WSL을 이용해 우분투 18.04 버전을 설치합니다.
mariadb-server 설치 및 실행
패키지를 최신으로 업데이트 합니다.
|
|
우선 mariadb-server를 설치합니다.
|
|
DB 저장소 경로 변경 방법
만약 db의 저장소를 변경하고 싶다면 아래와 같이 진행하면 됩니다.
우선 db의 경로를 /home/data/mysql
으로 가정하겠습니다.
db 접속 후 현재 db의 경로를 확인합니다.
1
SELECT @@ datadir;
db 정지
1
sudo service mysql stop
저장소 위치 변경
1 2
sudo mkdir -p /home/data/ # 폴더 생성 sudo rsync -av /var/lib/mysql /home/data/ # 기존 db 정보 복사 동기화
db 권한 부여 설정
1
sudo chown -R mysql:mysql /home/data/mysql
db 경로 변경
아래와 같이 명령어로 진입 후 사진처럼 경로를 변경합니다.
1
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
home 보안 해제
아래의 경로에서 사진과 같이 설정합니다.
1
sudo vim /lib/systemd/system/mariadb.service
WSL에 활성화 돼 있는 DB 로컬에서 접속 방법
WSL에 있는 DB를 Heidi SQL 툴 등을 이용해 접속하려면 아래와 같이 설정하면 됩니다.
외부 포트 접속 허용
아래 경로의 mariadb 설정 파일의 포트를 0.0.0.0 으로 변경합니다.
1
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
mysql restart
1
sudo service mysql restart
외부 접속 포트 확인 후 접속
WSL 환경에서
ip addr
명령어를 입력하면 172...* 로 시작하는 포트가 있습니다. 해당 포트를
로컬에서 접속하면 됩니다.만약 계정 권한이 없다면 권장되지는 않지만 아래와 같이 특정 계정에 모든 권한을 부여해 접속할 수 있습니다.
아래와 같은 경우는user
라는 아이디와0000
패스워드로 권한을 부여했습니다.1 2
CREATE USER 'user'@'%' IDENTIFIED BY '0000'; GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
1 2 3
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf sudo systemctl restart mysql # 이게 안되면 sudo service mysql restart
WSL Maria DB 삭제 방법
mariadb server가 설치 중 잘못돼서 엉키면 아래와 같이 삭제할 수 있습니다.
설정파일도 모두 삭제하기 위해 purge 사용 후 Remove all MariaDB databases? 문구 나오면 예를 눌러주시면 됩니다.
|
|
남아있는 의존성 패키지 제거
|
|
mysql 관련 패키지 설치 확인
|
|
제 경우 위와 같이 mysql-common이 설치돼 있어 제거했습니다.
- 데이터베이스 파일도 함께 삭제하고 싶다면, 다음 명령어를 입력하세요.
|
|
위 명령어를 실행하면 /var/lib/mysql 디렉토리와 하위 파일들이 모두 삭제됩니다. 이 디렉토리는 mariadb-server의 데이터베이스 파일이 저장되는 디렉토리입니다.
위와 같이 명령어를 실행하시면 mariadb-server를 삭제할 수 있습니다. 다만, 데이터베이스 파일까지 모두 삭제하시면 해당 데이터베이스 파일에 저장된 모든 데이터가 삭제되므로, 주의하시기 바랍니다.
경고
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 “No such file or directory”)
만약 위와 같은 에러가 발생하면 아래와 같이 db를 재시작해주시면 됩니다.
|
|