>  기사  >  데이터 베이스  >  mysql에서 호스트를 수정하는 방법

mysql에서 호스트를 수정하는 방법

藏色散人
藏色散人원래의
2023-02-15 10:17:374607검색

mysql에서 호스트를 수정하는 방법: 1. "sudo service mysql stop"을 통해 mysql 서비스를 중지합니다. 2. 안전 모드에서 mysql을 시작한 다음 루트 비밀번호를 재설정합니다. 3. "update user set Host='%"를 통해 ' where User ='hive';" 문은 호스트를 수정할 수 있습니다.

mysql에서 호스트를 수정하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, MySQL 버전 5.7, Dell G3 컴퓨터.

mysql에서 호스트를 수정하는 방법은 무엇입니까?

MySQL 사용자의 호스트 속성을 빠르게 수정하세요.

MySQL에 원격으로 로그인할 때 사용하는 계정에는 특별한 요구 사항이 있어야 합니다.

계정의 기본 호스트 속성은 localhost이며, 이는 이 계정을 로컬에서만 사용할 수 있다는 의미입니다. 계정을 사용하여 원격으로 로그인하려면 해당 계정의 호스트 속성 값을 %로 변경해야 합니다.

실행된 sql 문은 다음과 같습니다.

update user set host = '%' where user = 'root';

추가: mysql이 루트 비밀번호를 변경하고, 계정을 변경하고, 호스트에 로그인합니다

1 루트 비밀번호를 잊어버렸습니다

원격 서버에 mysql이 있습니다. 서비스에 하이브 계정이 있습니다. 원격 서버는 mysql -hlocalhost -uxxx -pxxx를 사용하여 명령줄을 통해 로그인할 수 있지만 navicat 클라이언트를 사용하면 로그인할 수 없으며 navicat은 여전히 ​​IP 주소를 표시합니다. 내 자신의 기계.

첫 번째 의심은 mysql에서 A 계정의 비밀번호가 올바르게 설정되지 않았다는 것입니다. 따라서 하이브 계정을 재설정하려면 루트 계정을 사용해야 합니다.

비결은 mysql이 내가 만든 것이 아니라는 것입니다. 그리고 테스트 환경에서는 비밀번호를 누구에게 물어봐야 할지 모르겠습니다. 그런 다음 궁극적인 무기를 사용하십시오: 루트 비밀번호를 변경하십시오.

2.mysql 루트 비밀번호를 재설정하세요.

먼저 주의할 점: mysql의 루트 계정과 서버의 루트 계정은 동일한 개념이 아니므로 혼동하지 마세요.

먼저 mysql 서비스를 중지합니다.

sudo service mysql stop

서버의 루트 계정이 있으면 당연히 sudo가 필요하지 않습니다. 위 명령은 Ubuntu 및 Debian에서 작동합니다. CentOS, Fedora 및 RHEL에서 mysql을 대체하려면 mysqld를 사용하십시오. 아래의 모든 작업에도 동일하게 적용됩니다.

그런 다음 안전 모드에서 mysql을 시작합니다:

sudo mysqld_safe --skip-grant-tables --skip-networking &

이 방법으로 비밀번호 없이 루트로 직접 로그인할 수 있습니다:

mysql -u root

이러한 방식으로 루트 계정으로 mysql에 로그인합니다.

그런 다음 루트 비밀번호를 재설정할 수 있습니다:

mysql> use mysql; 
mysql> update user set password=PASSWORD("mynewpassword") where User='root'; 
mysql> flush privileges;

재설정이 완료된 후 mysql을 종료하세요. 그런 다음 mysql 서비스를 시작합니다:

sudo service mysql restart

다음으로 루트 계정으로 로그인합니다:

mysql -u root -pmynewpassword

3. A 계정의 관련 권한을 수정합니다

루트 계정으로 mysql에 로그인한 후 다음을 수행해 보겠습니다. A 계정을 보세요. 관련 정보:

mysql> use mysql;
Database changed
mysql> select User, Host from user where User='hive';
+------+--------------+
| User | Host     |
+------+--------------+
| hive | 127.0.0.1  |
+------+--------------+

이제 이해가 되실 겁니다. navicat 클라이언트에 로그인할 수 없는 것은 당연한 일입니다. 하이브 계정의 호스트는 127.0.0.1뿐이므로 당연히 이 머신에서만 로그인할 수 있습니다.

mysql> update user set Host='%' where User='hive';

모든 컴퓨터가 로그인할 수 있도록 하이브 계정을 설정한 다음 권한을 새로 고칩니다.

mysql> flush privileges;

다시 확인하세요.

mysql> select User, Host from user where User='hive';
+------+------+
| User | Host |
+------+------+
| hive | %  |
+------+------+

지금까지 완료되었습니다!

위 내용은 제 개인적인 경험이므로 참고가 되셨으면 좋겠습니다. 실수나 불완전한 고려 사항이 있으면 언제든지 알려 주시기 바랍니다.

추천 학습: "MySQL 비디오 튜토리얼"

위 내용은 mysql에서 호스트를 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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