bestsource

Mysql 8 원격 액세스

bestsource 2023. 11. 5. 14:50
반응형

Mysql 8 원격 액세스

나는 보통 원격 접근을 위해 MySQL을 올바르게 설정합니다.

그리고 저는 현재 MySQL 8에 갇혀있습니다.

첫번째는 mysql.conf.d/mysqld.cnf 상에서 bind-address line이 없어서 손으로 추가(bind-address 0.0.0)하여 '%'에서 사용자에게 접근 권한을 부여했습니다.

연결했을 때 "Authentication failed"(인증 실패)라는 메시지가 나타납니다.

그러나 로컬 호스트/커맨드 라인에서는 잘 작동합니다.

  1. 삭제 또는 주석 달기bind_address매개 변수 from themy.ini파일.

(파일명은 OS에 따라 다릅니다.Linux에서 my.ini는 실제로 /etc/mysql/ 디렉토리에 있는 my.cnf입니다.)

  1. 서비스를 다시 시작합니다.
  2. 작성.root사용자(예: 'root@localhost'(로컬 액세스 전용)이므로 새 사용자):

    CREATE USER 'root'@'%' IDENTIFIED BY '123';

  3. 권한 부여:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

DBA 사용자의 경우 추가WITH GRANT OPTION맨 끝에

예.CREATE USER 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;


GRANT와 함께 CREATE가 작동하지 않기 때문에?

MySQL 8은 더 이상 사용자를 생성할 수 없습니다.GRANT, 그래서 에 오류가 있습니다.IDENTIFIED BY '123'만약 당신이 그것을 사용하려고 한다면.GRANT, 가장 일반적인 오류입니다.

MySQL 8의 원격 액세스:

1) 모든 호스트에서 액세스 허용

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address            = 0.0.0.0

2) 사용자가 어디서나 액세스할 수 있도록 허용:

mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
UPDATE mysql.user SET host='%' WHERE user='root';

3) 인증을 암호로 변경

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'ThePassword';

동일한 문제가 발생하여 MySQL Workbench에 연결하고 User 권한을 업데이트했습니다.

MySQL 버전 : 8.0.20 커뮤니티OS : 윈도우 10.

  1. MySQL Workbench 열기 --> 서버 --> 사용자 및 권한
  2. 사용자선택
  3. 호스트에서 액세스할 때 일치하는 호스트로 제한을 "%"로 변경합니다.
  4. 변경사항을적용합니다.
  5. 필요한 경우 MySQL 서비스를 다시 시작합니다.다시 시작하지 않아도 효과가 있었습니다.

스크린샷,

MySQL 8의 경우 mysqld.cnf 파일을 엽니다.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address 옵션을 수정하거나 추가합니다.

[mysqld]
bind-address = 0.0.0.0

mysql 서버를 다시 시작합니다.

sudo service mysql restart

언급URL : https://stackoverflow.com/questions/50570592/mysql-8-remote-access

반응형