>  기사  >  데이터 베이스  >  mysql에서 사용자의 권한을 설정하는 방법

mysql에서 사용자의 권한을 설정하는 방법

PHPz
PHPz원래의
2023-04-21 11:22:2817613검색

MySQL은 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 많은 웹사이트와 애플리케이션이 MySQL을 사용하여 데이터를 저장하고 관리합니다. MySQL 애플리케이션을 개발할 때 데이터 보안과 정확성을 보장하려면 일반적으로 다양한 수준의 사용자 권한을 설정해야 합니다. 이 기사에서는 MySQL에서 사용자의 권한을 설정하는 방법을 소개합니다.

  1. MySQL에 로그인

MySQL 서버에 로그인하려면 터미널에 다음 명령어를 입력하세요.

$ mysql -u root -p

그 중 -u는 사용자 이름을 나타내고 -p는 비밀번호를 입력해야 함을 나타냅니다. 비밀번호가 설정되지 않은 경우 -p 매개변수를 생략할 수 있습니다. -u表示用户名,-p表示需要输入密码。如果没有设置密码,则可以省略-p参数。

  1. 创建一个新用户

在MySQL中创建新用户的命令为:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

其中,username是你想要创建的用户名,password是你想要设置的密码。@'localhost'表示该用户只能从本地连接到MySQL服务器。如果想要允许从其他机器连接到MySQL服务器,可以将localhost替换为%

  1. 给用户分配权限

在MySQL中,可以使用GRANT命令给用户分配不同级别的权限。例如,以下命令可以给用户username授予对数据库test的查询和更新权限:

GRANT SELECT, INSERT, UPDATE ON test.* TO 'username'@'localhost';

其中,SELECT表示对表执行查询操作的权限,INSERT表示对表执行插入操作的权限,UPDATE表示对表执行更新操作的权限。test.*表示对test数据库下的所有表都授权。如果要对单个表授权,可以将test.*替换为test.tablename

如果想要授予用户在所有数据库上的所有操作权限,可以使用以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

除了ALL PRIVILEGES之外,还可以使用其他权限,例如SELECT,INSERT,UPDATE,DELETE,CREATE,DROP等。

  1. 刷新权限

当我们给用户分配新的权限时,需要刷新权限才能生效。可以使用以下命令刷新权限:

FLUSH PRIVILEGES;

如果不刷新权限,在用户执行一些需要权限的操作时,可能会得到“Access denied”(访问被拒绝)的错误。

  1. 删除用户权限

如果想要撤销用户的某些权限,可以使用以下命令:

REVOKE SELECT, INSERT ON test.* FROM 'username'@'localhost';

其中,SELECTINSERT表示从用户username身上撤销对数据库test的查询和插入权限。同样,test.*可以替换为test.tablename,从而取消用户对单个表的访问权限。如果想要从用户身上删除所有权限,则可以使用以下命令:

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
  1. 查看用户权限

可以使用以下命令查看MySQL中所有用户的权限:

SELECT * FROM mysql.user;

此外,还可以使用以下命令查看某个用户的权限:

SHOW GRANTS FOR 'username'@'localhost';

以上命令将显示用户username

    새 사용자 만들기

    MySQL에서 새 사용자를 만드는 명령은 다음과 같습니다.

    rrreee🎜여기서 username은 만들려는 사용자 이름입니다. password는 설정하려는 비밀번호입니다. @'localhost'는 사용자가 MySQL 서버에 로컬로만 연결할 수 있음을 의미합니다. 다른 컴퓨터에서 MySQL 서버에 대한 연결을 허용하려면 localhost%로 바꾸면 됩니다. 🎜
      🎜사용자에게 권한 할당🎜🎜🎜MySQL에서는 GRANT 명령을 사용하여 사용자에게 다양한 수준의 권한을 할당할 수 있습니다. 예를 들어, 다음 명령은 사용자에게 username 쿼리 및 데이터베이스 test에 대한 업데이트 권한을 부여할 수 있습니다. 🎜rrreee🎜 그중 SELECT는 쿼리 실행을 의미합니다. 테이블 작업 권한에서 INSERT는 테이블에 대한 삽입 작업을 수행할 수 있는 권한을 나타내고, UPDATE는 테이블에 대해 업데이트 작업을 수행할 수 있는 권한을 나타냅니다. test.*test 데이터베이스 아래의 모든 테이블이 승인되었음을 의미합니다. 단일 테이블을 승인하려면 test.*test.tablename으로 바꾸면 됩니다. 🎜🎜사용자에게 모든 데이터베이스에 대한 모든 작업 권한을 부여하려면 다음 명령을 사용하면 됩니다. 🎜rrreee🎜 ALL PRIVILEGES 외에도 와 같은 다른 권한을 사용할 수도 있습니다. >SELECT code>, <code>INSERT, UPDATE, DELETE, CREATE, DROP 등 🎜
        🎜권한 새로 고침🎜🎜🎜사용자에게 새 권한을 할당할 때 새로 고쳐야 적용됩니다. 다음 명령을 사용하여 권한을 새로 고칠 수 있습니다. 🎜rrreee🎜권한을 새로 고치지 않으면 사용자가 권한이 필요한 일부 작업을 수행할 때 "액세스 거부" 오류가 발생할 수 있습니다. 🎜
          🎜사용자 권한 제거🎜🎜🎜사용자 권한 중 일부를 취소하려면 다음 명령을 사용할 수 있습니다. 🎜rrreee🎜그 중 SELECT 및 INSERT는 사용자 username의 쿼리를 취소하고 데이터베이스 test에 대한 권한을 삽입하는 것을 의미합니다. 마찬가지로 test.*test.tablename으로 대체하여 단일 테이블에 대한 사용자 액세스를 취소할 수 있습니다. 사용자의 모든 권한을 제거하려면 다음 명령을 사용하면 됩니다: 🎜rrreee
            🎜사용자 권한 보기🎜🎜🎜다음 명령을 사용하면 MySQL에서 모든 사용자의 권한을 볼 수 있습니다. : 🎜rrreee🎜또한 다음 명령을 사용하여 사용자의 권한을 볼 수도 있습니다. 🎜rrreee🎜위 명령은 MySQL에서 사용자 username의 모든 권한을 표시합니다. 🎜🎜요약🎜🎜MySQL에서는 사용자 권한 관리가 매우 중요합니다. 다양한 수준의 권한을 부여하면 승인된 사용자만 데이터베이스의 데이터를 읽고, 쓰고, 수정 또는 삭제할 수 있도록 하여 데이터 보안과 정확성을 보장할 수 있습니다. MySQL 애플리케이션을 개발할 때 부적절한 권한 설정으로 인한 데이터 유출이나 손상을 방지하기 위해 모범 사례를 따르십시오. 🎜

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

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