>데이터 베이스 >MySQL 튜토리얼 >mysql에 추가된 사용자에 접근할 수 없으면 어떻게 해야 하나요?

mysql에 추가된 사용자에 접근할 수 없으면 어떻게 해야 하나요?

coldplay.xixi
coldplay.xixi원래의
2020-10-20 11:19:102349검색

사용자를 추가하여 mysql에 액세스할 수 없는 문제에 대한 해결 방법: 먼저 MySQL 서버에 관리자로 로그인하고 MySQL 사용자를 생성한 다음 MySQL 사용자 권한을 부여하고 다음 명령을 실행하여 "myuser"를 부여합니다. 사용자별 권한, 마지막으로 사용자 리소스 제한 및 확인을 추가합니다. ㅋㅋㅋ 에 MySQL 서버.

$ mysql -u root -pmysql에 추가된 사용자에 접근할 수 없으면 어떻게 해야 하나요?

생성된 사용자 보기

mysql.user에서 호스트, 사용자 선택;MySQL 사용자 만들기

  创建一个用户名和密码分别为"myuser"和"mypassword"的用户,可访问地址为%所有,也可以设定ip或者localhost。
  mysql> CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
  用户被创建后,包括加密的密码、权限和资源限制在内的所有帐号细节都会被存储在mysql这个库的user的表中。
 ** 运行下列命令,验证帐号是否创建成功**
  mysql> SELECT host, user, password FROM mysql.user WHERE user='myuser';

MySQL 사용자 권한 부여

새로 생성된 MySQL 사용자에게는 액세스 권한이 없으므로 MySQL 데이터베이스에서 어떤 작업도 수행할 수 없습니다. 사용자에게 필요한 권한을 부여해야 합니다. 사용 가능한 권한은 다음과 같습니다.

All: 사용 가능한 모든 권한

Create: 라이브러리, 테이블 및 인덱스 생성

Lock_tables: 테이블 잠금

alter: 테이블 수정

Delete : 테이블 삭제

INSERT: 테이블 또는 열 삽입
  • SELECT: 테이블 또는 열 데이터 검색
  • CREATE_VIEW: 뷰 생성
  • SHOW_DATABASES: 데이터베이스 나열
  • DROP: 라이브러리 삭제 , 테이블 and views
  • 다음 명령을 실행하여 "myuser" 사용자에게 특정 권한을 부여합니다.
  • mysql> GRANT <privileges> ON <database>.<table> TO &#39;myuser&#39;@&#39;localhost&#39;;
      以上命令中,<privileges> 代表着用逗号分隔的权限列表。如果你想要将权限赋予任意数据库(或表),那么使用星号(*)来代替数据库(或表)的名字。
      例如,为所有数据库/表赋予 CREATE 和 INSERT 权限:
      mysql> GRANT CREATE, INSERT ON *.* TO &#39;myuser&#39;@&#39;localhost&#39;;

  • 사용자에게 부여된 전체 권한 확인:
  • mysql> SHOW GRANTS FOR &#39;myuser&#39;@&#39;localhost&#39;;
      **将全部的权限赋予所有数据库/表:**
      mysql> GRANT ALL ON *.* TO &#39;myuser&#39;@&#39;localhost&#39;;
      **你也可以将用户现有的权限删除。使用以下命令废除"myuser"帐号的现有权限:**
      mysql> REVOKE <privileges> ON <database>.<table> FROM &#39;myuser&#39;@&#39;localhost&#39;;

  • 사용자에 대한 리소스 제한 추가
  • MySQL에서는 개별 사용자에 대한 MySQL 리소스 사용 제한을 설정할 수 있습니다. 사용 가능한 리소스 제한은 다음과 같습니다.
  • MAX_QUERIES_PER_HOUR: 允许的每小时最大请求数量
      MAX_UPDATES_PER_HOUR: 允许的每小时最大更新数量
      MAX_CONNECTIONS_PER_HOUR: 允许的每小时最大连接(LCTT译注:其与 MySQL全局变量: max_user_connections 共同决定用户到数据库的同时连接数量)数量
      MAX_USER_CONNECTIONS: 对服务器的同时连接量
  • 다음 명령을 사용하여 "myuser" 계정에 리소스 제한을 추가합니다.

  • mysql> GRANT USAGE ON <database>.<table> TO &#39;myuser&#39;@&#39;localhost&#39; WITH <resource-limits>;
      在 <resource-limits> 中你可以指定多个使用空格分隔开的资源限制。
      例如,增加 MAXQUERIESPERHOUR 和 MAXCONNECTIONSPERHOUR 资源限制:
      mysql> GRANT USAGE ON *.* TO &#39;myuser&#39;@&#39;localhost&#39; WITH MAX_QUERIES_PER_HOUR 30 MAX_CONNECTIONS_PER_HOUR 6;
  • 사용자의 리소스 제한을 확인합니다.

  •   mysql> SHOW GRANTS FOR &#39;myuser&#39;@&#39;localhost;

생성의 마지막 중요한 단계 MySQL 사용자 설정:

  mysql> FLUSH PRIVILEGES;

변경 사항이 적용됩니다. 이제 MySQL 사용자 계정을 사용할 준비가 되었습니다.

위 내용은 mysql에 추가된 사용자에 접근할 수 없으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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