Windows 7 호스트 컴퓨터에서 게스트로 Ubuntu를 실행하고 있습니다. 게스트를 실행하기 위해 VMware Workstation을 사용하고 있습니다.
호스트에 MySQL을 설치했습니다. 우분투 게스트에서이 MySQL 데이터베이스에 액세스하고 싶습니다. 기본적으로 우분투 게스트에서 Django를 사용하여 샘플 응용 프로그램을 개발하려고하는데 MySQL이 필요합니다. 인터넷 연결이 매우 느려서 우분투 용 MySQL을 다운로드 할 수 없으며 호스트 OS에 파이썬이 설치되어 있지 않습니다.
Ubuntu 게스트에서 MySQL 데이터베이스에 어떻게 연결합니까?
답변
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 클라이언트 세션을 기록하는 파일에 일반 텍스트 비밀번호를 기록하지 못합니다.