[1. Windows 에서 설치]
아래 공식 홈페이지에서 설치 파일을 다운 받은 후 설치한다.
디폴트 설정 값을 건들지 않았다면, heidisql 이라는 프로그램도 같이 설치된다.
설치 직후, 사용 가능한 계정은 관리자 root 만 존재하며, 여기서 root 계정의 비밀번호를 설정한다.
root 유저를 외부에서 접속 할 수 있는지 체크한다.
(보안을 위해서는 해당 설정은 하지 않는 것이 좋음)
문자열 처리를 위해 UTF-8 을 기본으로 설정한다.
maria db 를 윈도우 서비스에 등록하며,
maria db 의 기본 포트는 3306 이다.
설치 후, 접속 포트 및 데이터가 저장 될 디렉터리 설정은
C:\Program Files\MariaDB 10.6\data\my.ini 에서 변경 할 수 있다.
maria db 를 윈도우 서비스에 등록하였으므로, db 서버의 시작과 중단은 서비스 탭에서 제어 할 수 있다.
[2. DB서버 접속]
> mysql -h <host 주소> -P <포트번호{3306 일 경우 생략}> -u <user id> -p<암호>
ex)
> mysql -h 127.0.0.1 -u root -proot
또는
> mysql -h 127.0.0.1 -u root -p
password 입력
이 외 다양한 옵션은 mysql --help 로 확인 가능
[3. 계정 조회]
> use mysql;
> select user, host from user;
Host 는 DB 서버에 User id 로 접속 가능 한 Host 를 의미한다.
"%" 는 모든 host 에서 접속가능한 것을 의미한다.
mariadb.sys 라는 계정은 로컬에서만 접속이 가능하다.
[4. 계정 생성]
> create user '<id>'@'<접속대역>' identified by '<pw>'
ex)
> create user 'elastic'@127.0.0.1 identified by 'elastic'
# elastic 이라는 user 는 로컬에서만 접속이 가능하며, pw 는 elastic
# 접속 시 127.0.0.1 을 명시해야 하며, localhost 로 명시할 경우 접속이 안됨.
# localhost 에 대해서 별도로 계정을 생성해주어야 함.
> create user 'kibana'@'%' identified by 'kibana';
# kibana 라는 user 는 모든 대역에서 접속이 가능하며, pw 는 kibana
> create user 'filebeat'@'192.168.0.%' identified by 'filebeat';
# filebeat 라는 user 는 ip 대역 192.168.0.x 에서 접속이 가능함.
아래와 같이 추가된 계정을 확인 할 수 있다.
[5. 계정 권한 부여]
계정 생성 직후, 해당 계정으로 그 어떤 DB 도 조회 할 수 없으며,
해당 계정이 접근(조회, 수정, ...) 가능한 DB 에 대한 권한을 부여해야 한다.
> grant <권한> on <db 명>.<table 명> to '<user>'@'<host>'
> flush privileges;
권한은 아래와 같이 존재한다.
all privileges
모든 권한
select
read 권한
insert, update, delete
write 권한
권한 부여 후, flush 를 해주어야 반영된다.
ex)
> grant all privileges on mysql.user to 'elastic'@'127.0.0.1';
> grant select on mysql.* to 'kibana'@'%';
> flush privileges;
[6. 계정 권한 조회]
> show grants for '<user>'@'<host>'
> show grants for current_user
[7. 계정 비밀번호 변경]
> alter user '<user>'@'<host>' identified by '<new pw>'
[8. 계정 삭제]
> drop user '<user>'@'<host'>
[9. Linux 에서 설치]
$ sudo apt install mariadb-server
$ sudo apt install mariadb-client
# mariadb-client 는 server 설치 시 함께 설치된다.
최초 접속은 아래와 같이 할 수 있다.
$ sudo mysql
===== 기타 설정 관련 =====
설정 파일 읽는 순서
1. /etc/mysql/mariadb.cnf
=> 전역 기본 설정
2. /etc/mysql/conf.d/*.cnf
=> 전역 옵션 설정
3. /etc/mysql/mariadb.cnf/*.cnf
=> MariaDB-only 옵션 설정
4. ~/my.cnf
=> 유저 옵션 설정
/etc/mysql/my.cnf
- /etc/mysql/conf.d
=> 큰 의미 없는 듯. - /etc/mysql/mariadb.conf.d
=> 50-server.cnf
==> port, datadir, log_error 등 설정 가능
==> 기본 bind-address 가 127.0.0.1 이므로, 최초 실행 시 로컬에서만 접속이 가능
===== datadir 변경 =====
$ sudo service mysql stop
$ sudo rsync -av /var/lib/mysql/ <변경 할 디렉터리>
=> /var/lib/mysql 로 명시하면 변경 할 디렉터리에 /var/lib/mysql 폴더가 복사되므로 주의
=> 이 후 설정 파일에 <변경 할 디렉터리>/mysql 로 하면 상관 없음.
=> 보통 소유자 및 그룹까지 같이 변경해 줌
$ mv /var/lib/mysql /var/lib/mysql.bak
=> backup 및 폴더 이름 변경
$ ls -ld <변경 할 디렉터리>
=> 소유자 및 그룹이 mysql 로 설정되었는지 확인
$ vim /etc/mysql/maraidb.conf.d/50-server.cnf
=> datadir 값을 변경
$ sudo service mysql start
# 주의 사항: datadir 을 /home 내 경로로 변경할 경우 추가 설정이 필요
# sudo vim /usr/lib/systemd/system/mariadb.service
# ProtectHome=false
[ref]
https://velog.io/@gillog/MySQL-%EC%9C%A0%EC%A0%80-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0
'MySQL' 카테고리의 다른 글
MySQL, innodb_autoinc_lock_mode (0) | 2023.06.21 |
---|---|
MySQL, SQL_SAFE_UPDATES (0) | 2023.06.15 |
MySQL. LAST_INSERT_ID (0) | 2023.06.15 |
mysql 공간 쿼리 (0) | 2023.05.24 |
partition 에 대해서 (0) | 2022.10.04 |