MySQL 계정 생성 & 권한 부여
USE mysql;
// 계정 생성
create user '사용자 이름'@'localhost' identified by '비밀번호';
// localhost : 내부 IP만 접속 가능 / % : 외부 IP 접속 가능
// 권한 부여
grant all privileges on *.* to '사용자'@'localhost';
grant [select, insert 등 부여할 권한] privileges on [DB명].[테이블명] to [사용자]@[호스트];
// db 연결 실패 시, 계정 삭제 + 재생성 후 시도
// 계정 삭제
drop user 'user@localhost';
방화벽 mysql 포트 개방
ufw allow mysql
ufw reload
ufw status
php 파일에서 MySQL DB에 root 권한으로 접근하면 Access denied 되는 경우가 있다.
// 웹 서버 접근 로그
// mysql 재시작 시, 초기화 됨
mysql> show variables like '%general%';
mysql> set global general_log = on;
cat /var/lib/mysql/[가상머신이름].log
// 아파치 웹 서버 로그
/var/log/apache2/access.log
그 이유는 root 계정의 plugin 값이 "auth_socket" 으로 설정돼 있기 때문이다.
// mysql DB 에서 plugin 값 확인 가능
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
물론 아래와 같이 root 계정의 plugin 값을 변경해 사용할 수 있지만,
mysql> USE mysql;
mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> select user, host, plugin from user;
새로운 계정을 만들어 사용하는 것이 나을 것 같다.
'Web > Develop_PHP+MySQL' 카테고리의 다른 글
웹 사이트 만들기 - 로그인 DB 연결 (0) | 2024.04.21 |
---|---|
웹 사이트 만들기 - DB 생성(MySQL) (2) | 2024.04.21 |
MySQL 명령어 정리 (0) | 2024.04.20 |
웹 사이트 만들기 - 로그인 디자인(CSS) (0) | 2024.04.20 |
라우터 포트포워드 설정 (0) | 2024.04.19 |