mysql에서 새 권한에 대한 비밀번호를 설정하는 방법: 먼저 CREATE USER 명령을 통해 사용자를 생성한 다음 GRANT 명령을 사용하여 승인하고 마지막으로 SET PASSWORD 명령을 통해 사용자 비밀번호를 설정 및 변경합니다.
권장: "mysql 비디오 튜토리얼"
MySQL 사용자 생성 및 인증
1. 사용자 생성
명령:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
지침:
사용자 이름: 생성할 사용자 이름
host : 사용자가 로그인할 수 있는 호스트를 지정합니다. 로컬 사용자인 경우 localhost를 사용할 수 있습니다. 사용자가 원격 호스트에서 로그인하도록 하려면 와일드카드 %
password를 사용할 수 있습니다. 사용자의 로그인 비밀번호입니다. . 비밀번호가 비어 있을 수 있습니다. 비어 있으면 사용자는 비밀번호 없이 서버에 로그인할 수 있습니다. SELECT, INSERT, UPDATE 등의 권한을 부여하려면 ALL
databasename: 데이터베이스 이름
tablename: 테이블 이름을 사용합니다. 모든 데이터베이스 및 테이블에 대한 해당 운영 권한을 사용자에게 부여합니다. , *를 사용하여 *.*
예:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY ''; CREATE USER 'pig'@'%';
참고:
위 명령으로 권한이 부여된 사용자는 다른 사용자에게 권한을 부여할 수 없습니다. 다음 명령:
GRANT privileges ON databasename.tablename TO 'username'@'host'
3. 사용자 비밀번호 설정 및 변경
명령:
GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; GRANT ALL ON *.* TO 'pig'@'%'; GRANT ALL ON maindataplus.* TO 'pig'@'%';
현재 로그인한 사용자인 경우 사용:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
예:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
사용자 권한 취소
명령:
SET PASSWORD = PASSWORD("newpassword");
설명:
privilege, 데이터베이스 이름, 테이블 이름: 인증 부분과 동일
예:
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
참고:
사용자 'pig'@'%'가 인증되면 다음과 같습니다(또는 유사합니다). ): GRANT SELECT ON test.user TO 'pig'@'%', 그런 다음 REVOKE SELECT ON *.* FROM 'pig'@' %' 명령은 테스트 데이터베이스의 사용자 테이블에서 사용자의 SELECT 작업을 실행 취소할 수 없습니다. . 반대로 권한 부여가 GRANT SELECT ON *.* TO 'pig'@'%';를 사용하는 경우 REVOKE SELECT ON test.user FROM 'pig'@'%'; 명령은 사용자의 액세스 권한을 취소할 수 없습니다. 테스트 데이터베이스의 사용자 테이블에 권한을 선택합니다.
자세한 정보는 SHOW GRANTS FOR 'pig'@'%'; 명령을 사용하여 볼 수 있습니다.
5. 사용자 삭제
명령어:
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
오늘 개발중에 Centos7에 MySQL5.6 버전을 설치한 후 테이블에 새로운 weicheng 계정을 생성하고 비밀번호를 설정했는데, 제가 사용하고 있는 것은 weicheng 계정 mysql에 로그인할 때 "mysql -uweicheng -p"를 사용하여 로그인하면 오류가 발생하고, 비밀번호가 맞아도 로그인이 안되는 현상을 발견했습니다. 비밀번호를 입력하지 않고 "mysql -uweicheng"을 사용하여 직접 로그인하세요.
나중에 데이터를 쿼리하는 이유는 데이터베이스에 빈 사용자가 있어야 하기 때문입니다. 그렇다면
REVOKE SELECT ON *.* FROM 'pig'@'%';
를 사용하여 있는지 확인한 다음
DROP USER 'username'@'host';
를 사용하여 중복된 빈 계정을 삭제한 다음
select * from mysql.user where user='';
를 사용하여 권한 테이블을 다시 로드합니다. 마지막으로
use mysql; delete from user where user = '';
를 사용하여 mysql 서비스를 다시 시작합니다. 이제 문제가 해결되었습니다.
팁:
1. mysql 서비스를 다시 시작해야 한다는 점을 기억하세요. 그렇지 않으면 msyql을 다시 시작하지 않았기 때문에 문제가 해결되지 않습니다.
2. msyql의 user 테이블은 mysql 데이터베이스의 user 테이블에 있으며, 주요 필드는 mysql에서 관리하는 데 사용되는 주요 테이블입니다.
mysql 새로 고침 권한 명령: FLUSH PRIVILEGES; (일반적으로 데이터베이스 사용자 정보가 업데이트된 후에 사용됨)
mysql 서버를 다시 시작하는 또 다른 방법이 있습니다
위 내용은 mysql에서 새로운 권한을 생성하고 비밀번호를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!