백엔드/OS
[ubuntu/우분투] mysql 설치 후 root 비밀번호 변경/ user 생성 및 권한 부여
첸첸
2024. 3. 18. 12:54
728x90
Mysql 설치
sudo apt-get update
sudo apt-get install mysql-server
Mysql 접속 및 비밀번호 설정
- root로 접속 한 뒤 비밀번호 초기화를 해준다
1. root로 접속
$ sudo mysql -u root -p
- 위 명령어를 입력하는 경우 "Enter password" 라고 나오는데 이때는 enter를 쳐주면 된다.
엔터를 입력하면 아래와 같이 mysql에 접속 된 것을 확인 할 수 있다.
2. user 정보 확인하기
- root의 경우에 plugin이 auto_socket으로 되어있는 것을 볼 수 있는데 이걸 mysql_native_password로 변경해주면서 새로운 비밀번호를 설정해주어야 한다.
mysql> select user, Host, plugin from mysql.user;
3. plugin 변경 및 비밀번호 설정
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '새로운 비밀번호';
4. 변경사항 적용
mysql> fulsh privileges;
5. 나가기
mysql> exit
6. 새로운 비밀번호로 로그인
- 정상적으로 로그인 되는 것을 확인 할 수 있다.
+ Mysql user 생성하기
- root 권한으로 mysql 접속 후 실행한다.
1. user 생성
- injeong 라는 user 생성
mysql> create user [user명];
2. 비밀번호 변경
mysql> alter user '유저명'@'접속허용ip' identified by '새로운 비밀번호';
3. user 확인
- injeong user가 생성 것을 확인 할 수 있다.
mysql> select user, Host from mysql.user;
4. 권한부여
- injeong 이라는 계정에 모든 DB에 접속 할 수 있는 권한을 부여
#모든 DB에 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'user명'@'호스트';
ex) grant all privileges on *.* TO 'injeong'@'%';
#특정 DB에 모든 권한 부여
GRANT ALL PRIVILEGES ON [DB명].* TO 'user명'@'호스트';
ex) grant all privileges on TEST.* to 'injeong'@'%';
#특정 DB에 특정 권한 부여
GRANT SELECT, INSERT, UPDATE ON [DB명].* TO 'user명'@'호스트';
ex) grant select, insert, update on TEST.* to 'injeong'@'%';
5. 변경사항 적용
mysql> FLUSH PRIVILEGES;
6. 권한 확인
mysql> SHOW GRANTS FOR 'user명'@'host';