카테고리 없음2020. 12. 25. 01:30
반응형

도커 이미지 다운로드

docker pull mariadb

 

컨테이너 실행

3306 port로 설정해 실행합니다.

 

docker container run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mariadb mariadb

docker 볼륨을 /Users/Shared/data/mariadb로 설정합니다.

 

docker container run -d -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=1234 \ -v /Users/Shared/happy/mariadb:/var/lib/mysql \ --name mariadb mariadb

 

-v는 Bind mount a volume와 관련한 옵션입니다. 형식은 다음과 같습니다.

 

맥 OS에서 /Users/Shared 는 공용 폴더이므로 /Users/Shared/happy/mariadb 디렉터리로 설정하였습니다.

그리고 --name 옵션은 컨테이너 실행시 컨네이너 실행시 컨테이너 이름을 부여하기 위한 용도입니다.

 

이어서 컨테이너가 정상적으로 실행 됐는지 확인합니다.

docker container ls -a

 

이때 -s옵션을 붙여주면 컨테이너에서 사용량을 확인할 수 있습니다.

docker container ls -as

 

docker exec -i -t mariadb bash

mysql -uroot -p1234

 

 

MariaDB [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

+--------------------+

3 rows in set (0.001 sec)

 

apt-get update

apt-get install vim

vi /etc/mysql/my.cnf

 

character-set-client-handshake = FALSE

init_connect="SET collation_connection = utf8_general_ci"

init_connect="SET NAMES utf8"

character-set-server = utf8

 

[client]

default-character-set = utf8

 

[mysql]

default-character-set = utf8

 

[mysqldump]

default-character-set = utf8

 

위 옵션 중에서 character-set-client-handshake의 값이 FALSE이면 클라이언트 문자셋을 무시하고 서버 문자셋을 사용한다는 의미입니다.

 

docker stop mariadb

docker start mariadb

 

mariaDB 로그 보기

$ docker logs -f --tail=10 mariadb

2020-02-29 22:13:47 0 [Note] InnoDB: 10.4.12 started; log sequence number 60990; transaction id 21

반응형
Posted by Dream Come True
IT2014. 8. 2. 00:18
반응형
1. mysql 접속 후 mysql database 선택 
mysql> use mysql;

2. user 테이블 살펴보기 
mysql> select host, user, password from user;

root 의 host 값들은 localhost, 127.0.0.1 등으로 기본 등록되어 있지만, 외부접속을 나타내는 값이 없다. 특정 아이피로 지정할 수도 있지만 여기선 % 기호로 어디서든 접속 가능하게 만든다. 

3. 권한 설정 
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드';
Query OK, 0 rows affected (0.03 sec)

4. 등록확인하기
mysql> select host, user, password from user;

root 계정의 host 필드에 % 가 등록되었는지 확인한다. 

5. refrash
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

위 단계는 my.cnf 파일 수정후 서버를 재시작할 것이기 때문에 굳이 안해도 된다. 

6. my.cnf 에서 외부접속 관련사항 변경하기 
user@home:~$ sudo vim /etc/mysql/my.cnf 

파일 내용중 
bind-address = 127.0.0.1 
부분 주석처리후 저장하기 

7. mysql 재시작 
user@home:~$ sudo /etc/init.d/mysql restart 

8. 완료. 
이제 외부 클라이언트 프로그램에서 접속이 가능하다 ^^
반응형
Posted by Dream Come True