mysql.user 테이블을 살펴 봐야합니다.
일반적으로이 쿼리를 실행하여 사용자 이름, 호스트 주소 및 MD5 암호화 암호를 볼 수 있습니다.
SELECT user,host,password FROM mysql.user;
예 1 : IP 주소가 '123.50.89.191'인 Ubuntu 서버에서 mysql에 연결하고 데이터베이스 'mydata'의 모든 항목에 완전히 액세스하고 조작 할 수있는 'myclient'라는 사용자를 만들어 보겠습니다. 비밀번호는 '권한'입니다.
GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY 'permission';
예 2 : IP 주소가 '123.50.89.191'인 Ubuntu 서버에서 mysql에 연결하고 'mydata'데이터베이스의 모든 항목 만 삽입하고 선택할 수있는 'myreadclient'라는 사용자를 만들어 보겠습니다. 비밀번호는 'readpermission'입니다.
GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY 'readpermission';
특정 권한을 가진 사용자를 만드는 방법에 대한 자세한 내용은 이 URL을 참조하십시오 .
시도 해봐 !!!
경고
일반 텍스트 비밀번호 대신 MD5 형식으로 비밀번호를 설정하는 것이 좋습니다.
예
mysql> SET @X=PASSWORD('permission');
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @X;
+-------------------------------------------+
| @X |
+-------------------------------------------+
| *1D6447E2F5B7AFD0E27D8E6CCA53099BE980803C |
+-------------------------------------------+
1 row in set (0.00 sec)
이제 첫 번째 예의 비밀번호를 다음과 같이 설정하십시오.
GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;
다음은 MD5 형식을 사용하는 두 번째 예입니다.
mysql> SET @X=PASSWORD('readpermission');
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT @X;
+-------------------------------------------+
| @X |
+-------------------------------------------+
| *22DA1CEDDBA3B75FD193775AC69D9184105F0BE0 |
+-------------------------------------------+
1 row in set (0.00 sec)
GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;
이렇게하면 바이너리 로그 나 mysql 클라이언트 세션을 기록하는 파일에 일반 텍스트 비밀번호를 기록하지 못합니다.