> 데이터 베이스 > MySQL 튜토리얼 > MySQL 명령 줄 클라이언트를 사용하여 MySQL 서버에 어떻게 연결합니까?

MySQL 명령 줄 클라이언트를 사용하여 MySQL 서버에 어떻게 연결합니까?

Johnathan Smith
풀어 주다: 2025-03-11 18:53:08
원래의
622명이 탐색했습니다.

MySQL 명령 줄 클라이언트를 사용하여 MySQL 서버에 연결

mysql 명령 줄 클라이언트를 사용하여 MySQL 서버에 연결하려면 일반적으로 다음 기본 명령 구조를 사용합니다.

 <code class="bash">mysql -u username -p</code>
로그인 후 복사

username MySQL 사용자 이름으로 바꾸십시오. 이 명령을 실행 한 후 클라이언트는 비밀번호를 자랑합니다. MySQL 서버가 비표준 포트 (기본 3306 이외의)에서 실행 중이거나 원격 호스트에있는 경우 이러한 매개 변수도 지정해야합니다. 예를 들어, 포트 3307의 원격 호스트 mydatabase.example.com 에서 실행중인 서버에 연결하고 사용자 이름 john_doe 를 사용하여 명령은 다음과 같습니다.

 <code class="bash">mysql -u john_doe -p -h mydatabase.example.com -P 3307</code>
로그인 후 복사

성공적으로 연결되면 MySQL 프롬프트 ( mysql> )가 표시되며 SQL 쿼리를 실행할 준비가되었음을 나타냅니다. username , mydatabase.example.com3307 과 같은 자리 표시자를 실제 자격 증명 및 서버 세부 정보로 교체해야합니다. -p 플래그를 생략하면 암호가 메시지가 표시되지 않으며 연결 시도가 실패 할 수 있습니다.

공통 연결 매개 변수

mysql 명령 줄 클라이언트와 함께 여러 매개 변수를 사용하여 연결을 사용자 정의 할 수 있습니다. 다음은 몇 가지 일반적인 것입니다.

  • -u username : MySQL 사용자 이름을 지정합니다. 구성 파일을 사용하지 않는 한 필수입니다.
  • -p [password] : mySQL 비밀번호를 지정합니다. 생략하면 입력하라는 메시지가 표시됩니다. -p 이후에 비밀번호를 직접 포함시킬 수도 있지만 보안 문제로 인해 일반적으로 권장하지 않습니다.
  • -h hostname : MySQL 서버의 호스트 이름 또는 IP 주소를 지정합니다. localhost 의 기본값.
  • -P port : MySQL 서버가 듣고있는 포트 번호를 지정합니다. 기본값 3306.
  • -D database : 연결 후 사용할 데이터베이스를 지정합니다. 이것은 USE database_name; 연결 후 명령.
  • -h hostname : MySQL 서버의 호스트 이름 또는 IP 주소를 지정합니다. LocalHost의 기본값. 원격 서버에 연결할 때 중요합니다.
  • --socket=/path/to/socket : MySQL 소켓 파일의 경로를 지정합니다. 이것은 일반적으로 TCP/IP 연결 대신 UNIX 소켓을 사용하여 로컬 서버에 연결할 때 사용됩니다. 이것은 로컬 연결에 더 효율적입니다.
  • --ssl : 연결에 대한 SSL/TLS 암호화를 활성화합니다. 이는 특히 데이터 차단이 문제가되는 네트워크에서 보안을 향상시킵니다. 인증서 확인을 위해 --ssl-ca=path/to/ca.pem 같은 추가 매개 변수를 지정해야 할 수도 있습니다.

연결 오류 문제 해결

mysql 클라이언트를 사용할 때 연결 오류가 발생하는 것이 일반적입니다. 다음은 문제 해결 단계의 분류입니다.

  1. 서버 상태 확인 : MySQL 서버가 실행 중인지 확인하십시오. 서버 로그에 오류가 있는지 확인하십시오. 서버의 상태를 확인하려면 적절한 시스템 명령 (예 : Linux의 systemctl status mysql )을 사용하십시오.
  2. 네트워크 연결 확인 : 원격 서버에 연결하는 경우 클라이언트 시스템과 서버 간의 네트워크 연결을 확인하십시오. 도달 가능성을 확인하기 위해 서버의 호스트 이름 또는 IP 주소를 핑하십시오. 포트 3306 (또는 지정된 포트)이 들어오는 연결을 위해 열려 있는지 확인하려면 방화벽 설정을 확인하십시오.
  3. 올바른 자격 증명 : 오타의 사용자 이름과 비밀번호를 다시 확인하십시오. 사례 민감도가 중요합니다.
  4. 올바른 호스트 이름 및 포트 : 호스트 이름과 포트 번호가 정확한지 확인하십시오. 잘못된 호스트 이름 또는 포트는 연결 고장으로 이어집니다.
  5. 오류 메시지 검사 : mysql 클라이언트가 제공 한 오류 메시지에주의를 기울이십시오. 이 메시지는 종종 문제의 원인에 대한 단서를 제공합니다 (예 : "Access Denied,"Host "... '는이 MySQL 서버에 연결할 수 없습니다"또는 네트워크 오류).
  6. MySQL 구성 확인 : MySQL 서버에서 my.cnf (또는 my.ini ) 구성 파일을 검토하십시오. 바인드 주소가 올바르게 설정되었는지 확인하십시오 (클라이언트의 IP 주소에서 연결 허용) 및 포트가 적절하게 구성되어 있는지 확인하십시오.
  7. 소켓 파일 문제 (로컬 연결)를 확인하십시오. UNIX 소켓을 사용하는 경우 소켓 파일이 존재하고 올바른 권한이 있는지 확인하십시오.

루트 암호를 잊어 버린 후 액세스를 회복합니다

MySQL 루트 비밀번호를 잊어 버린 경우 재설정해야합니다. 이 프로세스에는 일반적으로 MySQL 서버를 종료 한 다음 비밀번호 검사를 건너 뛰는 특정 옵션으로 시작합니다. 정확한 방법은 운영 체제와 MySQL 설치 방법에 따라 다릅니다. 경고 : 이 방법은 시스템을 신중하게 실행하고 이해해야합니다. 잘못된 단계는 데이터 손실 또는 시스템 불안정성으로 이어질 수 있습니다. 이것을 시도하기 전에 항상 데이터를 백업하십시오.

일반 단계 (Linux) :

  1. MySQL 서버 중지 : 시스템에 적절한 명령을 사용하십시오 (예 : sudo systemctl stop mysql ).
  2. 안전 모드에서 MySQL을 시작하십시오 : 비밀번호 인증을 우회하는 안전 모드에서 MySQL 서버를 시작하십시오. 정확한 명령은 분포에 따라 다를 수 있지만 종종 시작 명령에 --skip-grant-tables 추가하는 것이 포함됩니다. 정확한 명령에 대해서는 MySQL 서버의 문서를 참조하십시오. 예를 들어, sudo mysqld_safe --skip-grant-tables & 처럼 보일 수 있습니다.
  3. MySQL에 연결하십시오 : mysql 클라이언트 : mysql -u root 사용하여 비밀번호없이 MySQL 서버에 연결하십시오.
  4. 루트 비밀번호 재설정 : 다음 SQL 명령을 실행하십시오.
 <code class="sql">USE mysql; UPDATE user SET Password=PASSWORD('your_new_password') WHERE User='root'; FLUSH PRIVILEGES;</code>
로그인 후 복사

your_new_password 원하는 새 비밀번호로 바꾸십시오.

  1. MySQL을 중지하고 다시 시작하십시오 : MySQL 서버를 중지하고 정상적으로 다시 시작하십시오 ( --skip-grant-tables 없이).
  2. 새 비밀번호 테스트 : 새 비밀번호로 MySQL 서버에 연결하십시오.

중요한 참고 : 이 절차는 루트 수준 액세스를 제공합니다. 극도로주의를 기울이고 즉시 강력하고 안전한 비밀번호로 변경하십시오. 비밀번호를 재설정 한 후 향후 유사한 상황을 예방하기 위해 보안 조치를 강화하는 것을 고려하십시오. 특정 설정에 대한 가장 정확하고 최신 지침은 항상 공식 MySQL 문서를 참조하십시오.

위 내용은 MySQL 명령 줄 클라이언트를 사용하여 MySQL 서버에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿