MySQL 계정 관련

黄舟
풀어 주다: 2016-12-16 11:27:12
원래의
1107명이 탐색했습니다.

1.MySQL 사용자 생성:

shell> mysql --user=root mysql

mysql> *.*에 대한 모든 권한 부여 IDENTIFIED GRANT OPTION이 포함된 'something';

mysql> GRANT OPTION이 포함된 'something'으로 식별된 *.*에 대한 모든 권한 부여;

mysql> GRANT RELOAD, PROCESS ON *.* TO admin@localhost;

mysql> GRANT USAGE ON *.* TO dummy@localhost;

이 GRANT 문은 3명의 새로운 사용자를 설치합니다:

monty

어디서든 서버에 연결할 수 있지만 비밀번호 '뭔가'를 사용해야 하는 전체 수퍼유저 이것. monty@localhost 및 monty@"%"에 대해 GRANT 문을 발행해야 합니다. localhost 항목을 추가하면 localhost에 대한 익명 사용자 항목이 localhost에서 연결할 때 mysql_install_db에 의해 생성된 항목보다 우선합니다. 그 이유는 이 항목이 더 구체적인 Host 필드 값을 갖고 있어 사용자 테이블 정렬 순서에서 더 먼저 오기 때문입니다.


admin

비밀번호 없이 localhost에서 접속이 가능하며, 리로드 및 처리 관리 권한을 부여받은 사용자입니다. 이를 통해 사용자는 mysqladmin reload, mysqladmin 새로 고침, mysqladmin 플러시-* 명령은 물론 mysqladmin processlist도 실행할 수 있습니다. 데이터베이스 관련 권한이 부여되지 않았습니다. 나중에 또 다른 GRANT 문을 발행하여 부여할 수 있습니다.


dummy

사용자는 비밀번호 없이 연결할 수 있지만 localhost에서만 연결할 수 있습니다. 전역 권한은 'N'으로 설정됩니다. USAGE 권한 유형을 사용하면 권한 없이 사용자를 설정할 수 있습니다. 나중에 데이터베이스 관련 권한을 부여한다고 가정합니다.


2. 인증 테이블을 직접 수정하여 사용자 권한을 설정하고 다음 명령을 실행합니다(참고: 마지막에 FLUSH PRIVILEGES 참조).

shell> mysql --user=root mysql


mysql> INSERT INTO user (호스트,사용자,비밀번호) VALUES('localhost','custom',PASSWORD( ' 바보'));


mysql> INSERT INTO user (Host,User,Password) VALUES('server.domain','custom',PASSWORD('stupid'));


mysql> INSERT INTO 사용자(호스트,사용자,비밀번호) VALUES('whitehouse.gov','custom',PASSWORD('stupid'));


mysql> INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

VALUES ('localhost','bankaccount','custom','Y','Y',' Y ','Y','Y','Y');


mysql> INSERT INTO db

(Host,Db,User,Select_priv , Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

VALUES ('whitehouse.gov','expenses','custom','Y','Y','Y','Y',' Y ','Y');


mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

VALUES('%','고객','사용자 정의','Y','Y','Y','Y','Y','Y');


mysql> FLUSH PRIVILEGES;


이때 비밀번호를 잊어버릴 때가 있습니다. 이 경우 다음 방법을 사용할 수 있습니다.

my.ini 구성 파일을 수정하고

skip-grant 내부의 [mysqld] 섹션 어딘가에 다음 줄을 추가합니다. -tables

그런 다음 mysqld 서비스를 저장하고 다시 시작하면 모든 사용자 이름을 사용하여 MySQL 서비스에 최고 관리자로 로그인할 수 있습니다.

그런 다음 mysql 데이터베이스로 이동하여 사용자 테이블을 수정합니다.

update user set 비밀번호=PASSword('1234') where user='root';

반드시 이를 기억하려면 비밀번호 기능을 이용하세요. 그렇지 않으면 앞으로 입력할 비밀번호는 '1234'라는 암호문이 됩니다.

마지막으로 위에 추가한 콘텐츠를 삭제하고 서비스를 다시 시작하세요.

또한 이 머신이나 다른 머신에서 정상적으로 사용할 수 있는 MySql 데이터베이스를 찾으면 해당 mysql 라이브러리에 user라는 해당 파일을 복사하여 덮어쓸 수도 있습니다. . 비밀번호 데이터베이스에 동일한 이름의 파일이 있으므로 복사되는 사람의 계정 비밀번호로도 로그인할 수 있습니다.

4. 원격으로 서버에 접속할 수 있도록 MySql 계정을 설정하는 방법


5.0 버전에는 실제로 그래픽 인터페이스 구성 마법사 도구를 사용하면 루트 계정 비밀번호를 설정할 때 원격 액세스를 허용할지 여부를 선택할 수 있습니다. 기본적으로 허용되지 않습니다.

명령줄에는 이를 설정하는 두 가지 유사한 방법이 있습니다.

(1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION ;

mysql>Grant OPTION이 있는 'something'으로 식별된 *.* TO root@"%"에 대한 모든 권한을 부여합니다.

첫 번째 문장은 루트 사용자를 추가하여 비밀번호 "something"을 사용하여 로컬 컴퓨터(localhost)를 통한 액세스 권한을 부여합니다.

두 번째 문장에서는 와일드카드를 사용하여 다른 호스트의 루트 사용자 액세스 권한을 부여합니다.

(2) update 문을 직접 사용하여 사용자 테이블을 수정할 수도 있습니다. 루트 사용자 또는 다른 사용자를 사용하여 mysql에 로그인하고 mysql 데이터베이스로 이동합니다.

update user set 호스트=' localhost' 여기서 user='root';

플러시 권한;//루트만 이 컴퓨터에 로그인할 수 있습니다

update user set 호스트='%' where user= 'root';

플러시 권한;//루트 원격 액세스 허용

플러시 문은 다음과 같아야 합니다. 위에 추가했습니다.

추가로 새로운 사용자를 생성하고 싶다면 grant 문을 사용하는 것이 더 편리합니다. grant 문은 항상 새로운 사용자를 생성한다는 점을 기억하세요.


5. MySql의 3306 포트에 대해

서버에 5.0.18을 새로 설치했을 때 이런 메시지가 떴습니다. 3306 포트가 점유되어 강제로 이 포트를 사용하게 된 결과, 접속된 데이터베이스의 버전이 4.1.8로 새로 생성된 서버에 접속할 수 없는 것으로 확인되었습니다. 나중에 머신에 mysql 서버 버전 4.1.8이 설치되어 있다는 사실이 발견되었습니다.

이때 데이터베이스의 새 버전을 재구성하고 포트를 3307과 같은 다른 것으로 설정해야 합니다. 그런 다음 액세스할 때 --port 옵션을 추가할 수 있습니다. =3307 접속하려면 .net 프로그램의 연결 문자열에 port=3307도 추가해야 합니다.

위 내용은 MySQL 계정 관련 내용입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿