[MARIADB] mariaDB 접속,계정생성, 권한주기

2019. 10. 18. 12:53DB

반응형

루트계정 생성

> mysql_secure_installation

Enter current password for root (enter for non) : press Enter
Set root password? Y
New password : Type new root password
Re-enter new password : Confirm the password
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y​

 

 

마리아디비에 접속
> mysql -u root -p
Enter password: 패스워드 입력후 

데이터베이스 리스트 확인
# SHOW DATABASES;

없다면 생성
# CREATE DATABASE DB명;
ㄴ> CREATE DATABASE DB명 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

기본으로 생성되어 있는 mysql 데이터베이스를 사용한다
# USE mysql;

mysql의 user 테이블에서 이미 생성된 계정 확인
# SELECT host, user, password FROM user;

mysql은 보안상 기본적으로 외부접속을 허용하지 않기 때문에
계정을 생성할떄 특정 IP 혹은 localhost 를 지정하거나 %를 지정하여 외부접속을 허용할 수 있다.

user1 계정 생성
# CREATE USER '계정아이디'@'접속위치' IDENTIFIED BY '패스워드';
ex. create user 'user1'@'%' identified by 'user!@#$';

# 계정 비밀번호 변경
set password for 'user1'@'%' = password('user!!!!');


user1 권한 주기
# GRANT ALL PRIVILEGES ON DB이름.테이블 TO '계정아이디'@'접속위치';
ex. grant all privileges on testDB.* to 'user1'@'localhost';            
        //localhost 는 내부에서만 접속가능
     grant select on testDB.* to 'user1'@'%';

ex. GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
    REFERENCES, INDEX, ALTER, SHOW DATABASES,
    CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, 
    BINLOG MONITOR, CREATE VIEW, SHOW VIEW,
    CREATE ROUTINE, ALTER ROUTINE, CREATE USER,
    PROCESS, EVENT, TRIGGER, SLAVE MONITOR ON *.* TO 'user1'@'%';

권한 확인
# SHOW GRANTS FOR 'user1'@'접속위치';

계정 삭제
# DROP USER '계정아이디'@'접속위치';
ex. drop user 'user1'@'%';

권한 삭제
# REVOKE ALL ON DB이름.테이블 FROM '계정아이디'@'접속위치';
출처: https://sehoonoverflow.tistory.com/6 [세훈오버플로우]
 

 

mariadb 방화벽 포트 open

 
> firewall-cmd --permanent --zone=public --add-port=3306/tcp 

> systemctl start/restart firewalld
반응형