** MariaDB라고 쓰고 MySQL이라고 읽는다.(알만한 사람은 다 아는 얘기...)
1. 설치
$ sudo apt update
$ sudo apt install mariadb-server
2. 설치 확인
$ sudo systemctl status mariadb
...<중략>...
# 설치된 버전을 출력한다. 옵션 -V는 대문자
$ mysql -V
3. db 초기 작업
가장 먼저 하여할 것을
- 외부/내부에서 접근할 수 있는 계정을 생성하고
- 권한을 부여한다
- 외부에서 접근할 수 있도록 mysql 설정을 변경한다
$ sudo service mysql start
$ sudo mysql
# 관리용 데이터베이스인 mysql 데이터베이스에 연결한다
>use mysql
# 기존 사용자 목록을 확인한다
>select host, user from user;
# 계정을 생성한다.
>create user [username]@[servername] identified by ‘password’;
예) create user who@’%’ identified by “password”;
create user sqlmanager@`%` identified by ‘password’;
create user ‘sqlmanager’@`%` identified by ‘password’;
# 사용자 비밀번호 변경할 경우는 아래와 같이 명령한다
>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
# 사용자 삭제하려면
>drop user [username]@[servername];
명령시, ` , ‘ ,“ 등 각종 따옴표를 잘 구분하여 사용하여야 한다.
계정은 이름@호스트 형태이며, 호스트명에 '%'를 지정하면 모든 호스트에서 접근가능하게 된다.
이제 생성된 계정에 권한을 부여하도록 한다.
# 권한 부여
>grant all on [database].[table] to [username]@[servername];
예)grant all on *.* to sqlmanager@`%`;
# 권한 적용
flush privileges;
4. db 서버 설정
# mariadb 설정을 확인한다.
$ mysqld --print-defaults
mysqld would have been started with the following arguments:
--socket=/run/mysqld/mysqld.sock --pid-file=/run/mysqld/mysqld.pid --basedir=/usr --bind-address=127.0.0.1 --expire_logs_days=10 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
# 서비스 환경 설정을 편집한다.
$ sudo vi /erc/mysql/mariadb.conf.d/50-server.cnf
---
# 파일의 내용 중 bind-address의 특정 주소를 0.0.0.0으로 지정하여 외부에서도 접근할 수있게 한다.
[mysqld]
bind-address = 127.0.0.1 => bind-address = 0.0.0.0 로 변경
---
# 서비스를 재기동한다
$ sudo systemctl restart mysql
5. 방화벽 설정
방화벽은 상황에 따라.
$ sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
$ sudo ufw allow mysql
만약, 클라우드 설치되었다면 cloud network도 뚫어주어야 한다.
'Database > MariaDB-MySQL' 카테고리의 다른 글
| MariaDB/MySQL 기본 명령어 (0) | 2022.10.21 |
|---|