설정
언어 설정
- 기본적으로 latin1로 되어있는것을 utf8로 수정
    
- 한글이 깨질 수 있다.
 
 /etc/mysql/my.cnf파일 수정!include ~라 이미 적혀있는것 하단에 붙여야 한다.- 아래의 내용으로 그대로 붙여넣으면된다([client]라고 적힌거포함)
 
[client] 
default-character-set = utf8 
[mysqld] 
init_connect="SET NAMES utf8" 
character-set-server = utf8 
collation-server = utf8_general_ci 
[mysqldump] default-character-set = utf8 
[mysql] default-character-set = utf8
외부연결 설정
vi /etc/mysql/mysql.conf.d/mysqld.cnfbind-address = 127.0.0.1를bind-address = 0.0.0.0으로 외부 연결 가능하게 설정
- 추가적으로 포트포워딩도 확인(3306번)
 
설정 적용
- mysql 재시작
    
service mysql restart
 - 확인
    
- mysql 접속하여 
status입력 - character_set이 전부 utf8으로 되어있으면 적용완료
 
 - mysql 접속하여 
 
사용자
- 사용자를 추가하고 권한을 부여 가능
    
- 권한을 이용하여 특정 외부와 내부에서 접근을 분리하고, 내부적으로는 특정 데이터베이스 접근만 가능하게 하여 관리한다.
 
 - mysql 접속후 
use mysql로 시작 
사용자 추가
create user '[id]'@'[host]' identified by '[비번]';- host는 어디서 접근하냐를 설정
        
localhost는 내부에서만 접근%는 외부에서도 접근 가능(어디서든 접근)
 
- host는 어디서 접근하냐를 설정
        
 
사용자 확인
select user,host from user;- mysql 데이터베이스의 user테이블을 확인
 
사용자 삭제
drop user 'id'@'host';
사용자 권한 부여
- 만든 사용자는 특정 database만 접근가능하도록 설정 가능
 grant [권한정도] privileges on [데이터베이스명].[테이블명] to '[id]'@'[host]';- 권한정도
        
- all 모든 권한 사용
 - SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER 과같은 특정 권한 지정가능
            
- 여러개 적용시 쉼표로 쭉 써주면 된다.
 
 
 
- 권한정도
        
 
사용자 권한 삭제
revoke [권한정도] on [데이터베이스명].[테이블명] from '[id]'@'[host]';- 권한정도
        
- all은 모든 권한 삭제
 - SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER과 같은 특정 권한 삭제 가능
 
 
- 권한정도
        
 
사용자 권한 확인
show grants for '[id]'@'[host]';- 해당 아이디와 호스트를 가진 유저의 권한 확인
 
변경사항 적용
flush privileges;
참고
- https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/GRANT.html#GUID-20B4E2C0-A7F8-4BC8-A5E8-BE61BDC41AC3
 - https://webdir.tistory.com/217
 - 
    
https://nesoy.github.io/articles/2017-05/mysql-UTF8
 - https://nickjoit.tistory.com/144
 - https://damduc.tistory.com/4