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