>  기사  >  데이터 베이스  >  Mysql 사용자 관리 관련 지식 소개

Mysql 사용자 관리 관련 지식 소개

藏色散人
藏色散人앞으로
2020-05-12 16:24:251880검색

현재 사용하는 사용자 및 호스트:

mysql> select USER();
+----------------+
| USER()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

사용자 추가

이전 버전의 mysql5에서는 INSERT를 직접 사용하여 mysql 사용자를 mysql 테이블에 삽입했습니다.

mysql> insert into mysql.user(Host,User,Password) values('localhost','test_user',password('123123'));
ERROR 1062 (23000): Duplicate entry 'localhost-test_user' for key 'PRIMARY'

사용자 추가 {사용자 지정 데이터 테이블 권한 부여[ GRANT 명령을 사용하면 그에 따라 사용자에게 권한이 부여됩니다.]}

mysql> GRANT all privileges ON table1.* TO 
'test_user'@'localhost' IDENTIFIED BY '123123' WITH GRANT OPTION;
Query OK, 0 rows affected (0.02 sec)

IDENTIFIED BY는 사용자의 로그인 비밀번호를 지정합니다

ALL PRIVILEGES는 모든 권한을 의미하며 선택, 업데이트 및 기타 권한도 사용할 수 있습니다

* 앞에 있는 *는 사용됩니다. 데이터베이스 이름 뒤에 있는 * 기호는 테이블 이름을 지정하는 데 사용됩니다.

TO는 특정 사용자에게 권한을 부여하는 것을 의미합니다.

ON은 권한이 있는 라이브러리와 테이블을 지정하는 데 사용됩니다.

'test_user'@'localhost'는 test_user를 의미합니다. user, @ 다음에 제한사항 호스트는 IP, IP 세그먼트, 도메인 이름일 수 있으며 %, %는 어디든 의미합니다

WITH GRANT OPTION 이 옵션은 사용자가 자신의 권한을 다른 사람에게 승인할 수 있음을 의미합니다

시스템을 새로 고쳐야 함 권한 테이블 [플러시 권한] 이 사용자는 효과적으로 로그인할 수 있습니다

mysql> flush privileges;

사용자 삭제

mysql> drop user 'test_user'@'localhost';

현재 사용자의 권한 보기

mysql> SHOW GRANTS;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '\*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |
+----------------------------------------------------------------------------------------------------------------------------------------+

사용자의 권한 보기

mysql> show grants for 'test_user'@'localhost'
+------------------------------------------------------------------------------------------------------------+
| Grants for test_user@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test_user'@'localhost' IDENTIFIED BY PASSWORD '\*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1' |
| GRANT ALL PRIVILEGES ON table1.* TO 'test_user'@'localhost' WITH GRANT OPTION                                 |
+------------------------------------------------------------------------------------------------------------+

계정 이름 바꾸기

mysql> rename user 'test_user'@'localhost' to 'bb'@'localhost';

비밀번호 변경

1. 비밀번호 설정 명령

mysql> SET PASSWORD FOR 'test_user'@'localhost' = PASSWORD('123456');

2을 사용합니다. mysqladmin을 사용합니다. [bin 디렉토리 입력]

설명: {형식: mysqladmin -u 사용자 이름 -p 이전 비밀번호 비밀번호 새 비밀번호]

/usr/bin$ mysqladmin -utest_user -p123456 password 123123
mysqladmin: Can't turn off logging; error: 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation'

3. 업데이트를 사용하여 직접 편집합니다. 사용자 테이블

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set PASSWORD = PASSWORD('123123') where user = 'test_user';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

추천 튜토리얼: "MySQL Tutorial

위 내용은 Mysql 사용자 관리 관련 지식 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제