alter user 'root'@'localhost' identified with mysql_native_password by '변경을 원하는 비밀번호';
2. 계정 생성
create user '계정 아이디'@'localhost' identified by '비밀번호';
-- 내부 접근을 허용하는 사용자
create user '계정 아이디'@'%' identified by '비밀번호';
-- 외부 접근을 허용하는 사용자
create user '계정 아이디'@'192.168.0.1' identified by '비밀번호';
-- 특정 IP만 접근을 허용하는 사용자
create user '계정 아이디'@'192.168.%' identified by '비밀번호';
-- 특정 IP 대역만 접근을 허용하는 사용자
3. 권한 부여
grant all privileges on *.* to '사용자'@'localhost';
-- 모든 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on DB이름.* to '사용자'@'localhost';
-- 특정 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on DB이름.테이블명 to '사용자'@'localhost';
-- 특정 데이터베이스의 특정 테이블에 모든 권한을 줌
grant select on DB이름.테이블명 to '사용자'@'localhost';
-- 특정 데이터베이스의 특정 테이블에 select 권한을 줌
grant select, insert on DB이름.테이블명 to '사용자'@'localhost';
-- 특정 데이터베이스의 특정 테이블에 select, insert 권한을 줌
grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';
-- 특정 데이터베이스의 특정 테이블의 컬럼1과 컬럼2의 update 권한을 줌
여러차례 확인을 해보니 내가 MySQL을 통해 생성한 DB의 인코딩 방식이 UTF-8로 지정되어 있지 않아서 발생하는 문제였다.
3. 해결방법
cmd로 MySQL에 접속 후 다음 쿼리를 실행하여 내 Database와 Insert를 실행할 테이블의 인코딩 방식을 UTF-8로 설정해주었다.
ALTER DATABASE [데이터베이스명] CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE [테이블명] CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;