먼저 root 계정으로 접속한다.
mariadb -u root -p
CREATE USER '[계정아이디]'@'[접속을 허용할 ip]' IDENTIFIED BY '[계정비밀번호]';
예를 들어 localhost에서만 접속을 허용할 dev2820 계정을 'p1a2s3s4' 비밀번호로 생성한다면
CREATE USER 'dev2820'@'localhost' IDENTIFIED BY 'p1a2s3s4'
# 아래와 같다
CREATE USER 'dev2820'@'127.0.0.1' IDENTIFIED BY 'p1a2s3s4'
생성한 계정에 특정 데이터베이스 접근 권한을 주려면
GRANT ALL PRIVILEGES ON [데이터베이스 이름].[허용할 테이블] TO '[계정이름]'@'[허용ip]';
아까 생성한 계정에 db1 데이터베이스의 모든 테이블에 접근할 권한을 주려면
GRANT ALL PRIVILEGES ON db1.* TO dev2820@localhost;
mariadb도 그렇고 mysql도 그렇고 데이터베이스 목록을 보면 'mysql' 데이터베이스가 있다. 요 데이터베이스의 'user' 테이블에 계정 정보가 다 저장된다.
select host,user from mysql.user;