본문 바로가기

리눅스

리눅스 18일 차

MariaDB를 mariadb1 이라는 컨테이너 이름으로 실행

 

docker run \
--name mariadb1 \
-d \
--restart=always \
-e MARIADB_ROOT_PASSWORD=it123414 \
-p 3306:3306 \
-v /docker/projects/mariadb1/conf.d:/etc/mysql/conf.d \
-v /docker/projects/mariadb1/mysql:/var/lib/mysql \
-v /docker/projects/mariadb1/run/mysqld:/run/mysqld/ \
mariadb:latest

 

sudo systemctl status mariadb // 했을때 켜져있으면

sudo systemctl stop mariadb // 마리아db를 끔. 끄는 이유는 3306포트를 mariadb가 사용하기 때문에 끄는것

sudo systemctl disable mariadb // 마리아db가 시스템을 켰을때마다 꺼져있게 disable를 해줌

 

docker container start 컨테이너 이름 앞 두글자. // 해당하는 컨테이너를 실행

 

mariadb1 안에 명령어 실행, mysql client 접속 


docker exec -it mariadb1 mysql -u root -p

// 접속이 되면 연결이 잘 된것! exit로 나가면 됨


추가적으로 가능한 명령어

  -mariadb1 안에 명령어 실행, 보안강화세팅
     docker exec -it mariadb1 /usr/bin/mariadb-secure-installation

  -mariadb1 안에 명령어 실행, 서비스재실행
     docker exec mariadb1 service mariadb restart

  -mariadb1 안에 명령어 실행, 서비스 끄기
     docker exec mariadb1 service mariadb stop

  -mariadb1 안에 명령어 실행, bash
     docker exec -it mariadb1 bash

  -mariadb1 이라는 컨테이너를 제거
     docker rm -f mariadb1


버츄얼 박스

  -centos

  -도커설치

  -기존 mriadb 정지, 비활성화

-pureftpd

-mariadbclient

-mariadb X

-docker

  -mariadb

 


기존 mysql 클라이언트의 unix socket 방식으로 도커안에 mariadb접속

 

sudo locate mysql | fgrep sock //docker로 시작하는 파일경로 알아두기

sudo vim /etc/my.cnf.d/mysql-clients.cnf

[mysql]
...
socket=/docker/projects/mariadb1/run/mysqld/mysqld.sock # 소켓파일 추가
VIM 종료

 

mysql -u root -p


mariadb에 pureftpd 계정을 생성

GRANT ALL PRIVILEGES ON pureftpd.* TO pureftpd@`localhost` IDENTIFIED BY 'it123414';

 

sudo vim /etc/pure-ftpd/pureftpd-mysql.conf

sudo systemctl restart pure-ftpd

ftp 127.0.0.1

ID부분에 site1

Passwd부분에 it123414


date //명령어 쳤을때 현재 시각이 아닐경우

sudo date -s "2022-06-01 21:27:00"


도커안에 mysql에 사용자와 db들 세팅

mysql -u root -p

 

데이터베이스의 권한을 부여해서 계정 만들기

GRANT ALL PRIVILEGES ON *.* TO 계정이름@`%` IDENTIFIED BY 'it123414'; GRANT ALL PRIVILEGES ON site1.* TO site1@`%` IDENTIFIED BY 'it123414'; // 예시

 

만약 계정권한을 다른 데이터베이스로 줬다면 revoke으로 계정회수 아래는 예시

GRANT ALL PRIVILEGES ON site2.* TO site3@`%` IDENTIFIED BY 'it123414'; //site2의 권한을 site3에 줬다면

REVOKE ALL PRIVILEGES ON site2.* FROM site3; //이런식으로 site3에게 주어진 site2의 모든 권한을 지우는것

 


ip addr

도커 컨테이너에서 172.17.0.1로 도커 호스트에 접근이 가능하다.

 

이미 실행중인 docker 컨테이너 내부로 들어가는 명령어

docker exec 컨테이너명 bash

'리눅스' 카테고리의 다른 글

리눅스 19일 차  (0) 2022.06.08
리눅스17일 차  (0) 2022.05.30
리눅스 12일차  (0) 2022.05.25
리눅스 11일 차  (0) 2022.05.13
리눅스 10일 차  (0) 2022.05.11