>  기사  >  운영 및 유지보수  >  Linux에서 MySQL 접근성 문제를 해결하는 기본 단계

Linux에서 MySQL 접근성 문제를 해결하는 기본 단계

黄舟
黄舟원래의
2017-05-31 11:29:111907검색

문제 설명


이 문서에서는 MySQL에 액세스할 수 없는 문제에서 클라우드 서버 ECS Linux에 대한 일반적인 문제 해결 단계를 설명합니다.

처리 방법


  1. Linux 운영 체제가 설치되었는지MySQL

    $ rpm -qa mysql
    mysql-4.1.7-4.RHEL4.1
    
    # 说明已经安装了 MySQL

  2. 상태를 확인하세요 MySQL 실행 상태 감지:

    service mysqld status


  3. 서비스 시작: MySQL을 시작하는 방법에는 세 가지가 있습니다.

    1. 방법 1: service 명령을 사용하여 MySQL을 시작합니다.

      service mysqld start



    2. mysqld 스크립트를 사용하여 MySQL을 시작합니다.

      /etc/init.d/mysql start


    3. 방법 3: safe_mysqld 유틸리티를 사용하여 MySQL 서비스를 시작합니다. 이 방법은 관련 매개변수

      safe_mysqld& //使用&表示将safe_mysqld放在后台执行。



  4. 을 사용할 수 있습니다.

  5. 로그인


  6. 비밀번호 변경

    mysqladmin -u root password
    mysqladmin -u root password 'kaishi'

    여기서 "비밀번호"는 우리가 설정하려는 새 비밀번호입니다. 시스템은 이전 비밀번호를 입력하라는 메시지를 표시합니다(MySQL을 방금 설치한 경우 기본 비밀번호는 비어 있습니다).

로컬 컴퓨터에서는 로그인할 수 있지만 다른 컴퓨터의 클라이언트에서는 로그인 시 오류를 보고합니다. . 예:

ERROR 1130 (00000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQ
L server

먼저 iptables 설정을 확인하고 포트 3306이 열려 있는지 확인했습니다.

iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
service iptables save

여전히 액세스할 수 없다면 MySQL의 권한 문제일 수 있습니다. 다음 단계를 통해 문제를 해결할 수 있습니다.

  1. 이 컴퓨터에 로그인

    mysql -h localhost -u root -pkaishi
    show databases;
    use mysql;
    select Host, User, Password from user;
    +-----------------------+------+-------------------------------------------+
    | Host | User | Password |
    +-----------------------+------+-------------------------------------------+
    | localhost | root | *18F54215F48E644FC4E0F05EC2D39F88D7244B1A |
    | localhost.localdomain | root | |
    | localhost.localdomain | | |
    | localhost | | |
    +-----------------------+------+-------------------------------------------+

    위 결과를 보면 localhost만 접근 권한이 설정되어 있는 것을 확인할 수 있습니다.


  2. MySQL에 들어가서 새 사용자 사용자를 만듭니다.

    형식: 데이터베이스 이름에 대한 권한 부여.테이블 이름 user@login 호스트 ID
    if"사용자 비밀번호"로 지정됩니다.

    grant select,update,insert,delete on easyview.* to sillycat@192.168.10.103 identified by "kaishi";


  3. 결과를 보려면 다음을 실행하세요.

    use mysql;
    select host,user,password from user;

    방금 생성한 사용자가 이미 사용자 테이블에 있는 것을 볼 수 있습니다. 호스트 필드는 로그인된 호스트를 나타냅니다. 해당 값은 IP 또는 호스트 이름일 수 있습니다. 호스트 필드의 값을 %로 변경하면 모든 클라이언트 시스템에서 user
    user로 mysql 서버에 로그인할 수 있습니다. %에 대해서는 개발 중에 설정하는 것이 좋습니다.


  4. 권한을 수정한 후 적용하려면 다음 문을 실행해야 합니다.

    update user set host = '%' where user = 'sillycat';
    flush privileges;

위 내용은 Linux에서 MySQL 접근성 문제를 해결하는 기본 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.