서버 데이터베이스 설정을 오프사이트 액세스에 지원하는 방법

1471 단어

요약


서버가 데이터베이스를 구축한 후에 일반적으로 사용자를 만든 후에 사용자 비밀번호를 통해 로컬 접근을 할 수 있습니다. 만약에 이 데이터베이스가 다른 곳에서 접근할 수 있도록 해야 합니다. 예를 들어 사용자가 로컬에서 Navicat 등 제3자 데이터베이스 도구로 접근해야 한다면 다른 곳에서 로그인할 수 있는 사용자를 만들어야 합니다.

해결 방법

  • 서버 콘솔(명령줄)에 들어가기;
  • 현재 데이터베이스 설정 인증 건너뛰기: 수정 my.cnf, #skip-grant-tables 앞의 "#"을 제거하고 저장하고 종료합니다.
  • [root@XXX bin]# vi /etc/my.cnf 
    
  • mysql 서비스 재개
  • [root@XXX bin]# systemctl restart mysql
    
  • mysql 명령행에 들어갑니다
  • [root@XXX bin]# mysql
    
  • 사용자 권한을 추가한 명령을 실행하여 "mysql"데이터베이스에 있는 "user"표의 "host"항목을 변경합니다. "localhost"에서 "%"로 바꾸면 원격 로그인을 지원합니다
  • mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cth19910127' WITH GRANT OPTION;
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    // , 
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; // 
    Query OK, 0 rows affected (0.00 sec) 
    
  • 데이터베이스 로그인을 재설정하려면 인증이 필요합니다. 즉, 두 번째 부분에서 제거한 #skip-grant-tables 앞의'#'를 다시 보충해야 합니다
  • mysql 다시 시작
  • [root@XXX bin]# systemctl restart mysql
    

    이상의 작업이 완료되면 루트 계정으로 다른 곳에서 로그인할 수 있습니다.

    좋은 웹페이지 즐겨찾기