편집하다

편집하다

Hortonworks HDP에 MySQL과 MySQL Community Server를 설치했습니다. 서비스를 시작하고 비밀번호를 변경해 보았습니다.

/usr/bin/mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Please set the password for root here.

New password: 

Re-enter new password: 

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
 ... Failed! Error: The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

그리고 그 과정은 계속해서 반복됩니다.

skip=grant-tables내 파일에서 /etc/my.conf삭제 했어요

Bart의 제안을 시도했고 처음에는 효과가 있었지만 같은 문제가 발생했습니다.

I logged as a root.
mysql> create database registry;
Query OK, 1 row affected (0.05 sec)

mysql> CREATE USER 'registry'@'%' IDENTIFIED BY 'R12$%34qw';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

이 문제를 어떻게 해결하나요?

답변1

MySQL을 정상적으로 중지했다가 다시 시작하면 됩니다.

편집하다

그렇지 않으면:

권한을 새로 고치십시오.

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

~에서문서:

플러시 권한

mysql 데이터베이스의 부여 테이블에서 권한을 다시 로드합니다.

서버는 GRANT 및 CREATE USER 문의 결과로 정보를 메모리에 캐시합니다. 이 메모리는 해당 REVOKE 및 DROP USER 문에 의해 해제되지 않으므로 캐싱을 유발하는 문 인스턴스를 많이 실행하는 서버의 경우 메모리 사용량이 증가합니다. 이 캐시 메모리는 FLUSH PRIVILEGES를 사용하여 해제할 수 있습니다.

관련 정보