DBMS/MySQL
[MySQL] bash 명령어로 유저 추가하기
ckm7907
2024. 9. 9. 10:23
필자는 docker로 mysql-container를 열어서 사용했다.
아래의 순서대로 mysql-container에 접속한 후, 사용자 목록을 확인하고, spring boot에서 연결할 sql의 유저를 추가한다.
먼저 mysql docker 환경에 접속한후, root로 접속한다.
docker exec -it mysql-container /bin/bash
mysql -u root -p
그 후 mysql을 사용하고, 어떤 유저가 존재하는 지 확인한다.
use mysql;
select user, host from user;
사용자를 만든다. (필자는 jamjam으로 만들었다.)
create user 'jamjam'@localhost identified by '${password}';
이 후 jamjam에게 모든 database *.*의 권한을 부여한다.
이때 에러가 난다면 root의 grant 권한을 설정해야 한다.
grant all privileges on . to 'jamjam'@localhost;
해결방법
루트의 아웃바운자는 docker로 mysql-container를 열어서 사용했다.
아래의 순서대로 mysql-container에 접속한 후, 사용자 목록을 확인하고, spring boot에서 연결할 sql 유저를 추가한다.
먼저 mysql docker 환경에 접속한후, root로 접속한다.
docker exec -it mysql-container /bin/bash
mysql -u root -p
그 후 mysql을 사용하고, 어떤 유저가 존재하는 지 확인한다.
use mysql;
select user, host from user;
사용자를 만든다. (필자는 jamjam으로 만들었다.)
create user 'jamjam'@localhost identified by '${password}';
이 후 jamjam에게 모든 database *.*의 권한을 부여한다.
이때 에러가 난다면 root의 grant 권한을 설정해야 한다.
에러 발생(ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%')
delete from mysql.* where User='root';
flush privileges;
grant all privileges on . to 'jamjam'@localhost;
이 명령어를 사용해서 jamjam 의 권한을 추가해야 한다.
해결방법
루트의 외부 접근 허용을 위해 root의 '%' 와일드 카드를 추가한 후 권한을 준다.
create user 'root'@'%' identified by 'root'
grant all privileges on . to 'root'@'%' with grant option;
grant all privileges on . to 'jamjam'@'localhost';
1. root의 외부 권한을 준다.
2. root 사용자에게 모든 권한을 부여하고, 다른 사용자에게도 권한을 부여할 수 있는 권한을 허용한다.
3. jamjam에 모든 권한을 부여한다.