집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 오류 1449: '정의자로 지정된 사용자가 존재하지 않습니다'를 해결하는 방법?
MySQL 오류 1449: 정의자로 지정된 사용자가 존재하지 않습니다.
이 오류는 일반적으로 다음에서 뷰, 트리거 또는 프로시저를 가져올 때 발생합니다. 객체 작성자가 더 이상 존재하지 않는 다른 데이터베이스 존재합니다.
원인:
솔루션:
옵션 1: 정의자 변경
의 경우 보기:
이 SQL을 사용하여 ALTER 문을 생성합니다:
SELECT CONCAT("ALTER DEFINER=youruser@host VIEW ", table_name, " AS ", view_definition, ";") FROM information_schema.views WHERE table_schema='your-database-name';
저장용 절차:
'youruser'를 원하는 사용자로 대체하여 다음 구문을 사용합니다.
UPDATE `mysql`.`proc` p SET definer = 'user@%' WHERE definer='root@%'
옵션 2: 누락된 사용자 생성
적절한 정보를 사용하여 누락된 사용자를 생성합니다. 권한:
로컬 개발 서버의 경우:
GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
의 경우 MariaDB:
GRANT ALL PRIVILEGES ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
위 내용은 MySQL 오류 1449: '정의자로 지정된 사용자가 존재하지 않습니다'를 해결하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!