mysqdump: 오류가 발생했습니다: 1449:
mysqdump: 오류가 발생했습니다: 1449:LOCK TABLES를 사용할 때 정의자('root'@'192.200.1.16')로 지정된 사용자가 없습니다.
위의 오류에 대한 해결책을 주시기 바랍니다.
첫번째 mysqldump 를 사용하는 것이 좋습니다.--single-transaction
, 예:
mysqldump --single-transaction -u root -p mydb > mydb.sql
위에서 작동하지 않는 경우 아래에서 시도하십시오.
해당 절차/방법에 대한 정의를 교체해야 오류 없이 덤프를 생성할 수 있습니다.
다음과 같이 수행할 수 있습니다.
UPDATE `mysql`.`proc` p SET definer = 'root@localhost' WHERE definer='root@192.200.1.16'
타사 편집
mysql 8.0의 경우 테이블 프로크가 더 이상 존재하지 않습니다. 시도해 보십시오.
SELECT * FROM information_schema.routines;
다른 호스트에서 모든 보기와 테이블을 복사한 후에도 동일한 문제가 발생했습니다.
이 답변의 쿼리를 사용하여 데이터베이스의 모든 정의를 변경한 후에 작동했습니다.
편의를 위해 여기 복사:
SELECT CONCAT("ALTER DEFINER=`youruser`@`host` VIEW ",
table_name,
" AS ",
view_definition, ";")
FROM information_schema.views
WHERE table_schema='your-database-name';
mysqldump -u user -p password --lock-tables=false --default-auth=mysql_native_password dbname > dump.sql
비슷한 문제가 있었는데, 데이터베이스를 한 인스턴스에서 다른 인스턴스로 마이그레이션하려고 했지만 덤프에 있는 프로시저도 다른 데이터베이스를 참조하는 프로시저가 있어서 프로시저를 수정하거나 일부를 제거하지 못해서 오류를 표시하고 수정했습니다.
가장 최근에 업데이트된 답변에서는 --single-transaction을 사용하여 백업을 복원할 때 해당 오류가 다시 발생하므로 가장 좋은 해결책은 정의를 변경하는 것입니다. 사용자가 누락된 경우 현재 사용 중인 관리자 사용자에 대한 정의를 추가합니다.
시도해 보십시오.
mysqldump -h hostname -u thomas -p -x dbname > xxx_2015_03_25.sql
언급URL : https://stackoverflow.com/questions/26583103/mysqldump-got-error-1449
'programing' 카테고리의 다른 글
R에서 데이터 프레임의 모든 열을 표시하는 방법 (0) | 2023.09.26 |
---|---|
데이터 프레임에서 그룹별로 고유/고유의 값 계산 (0) | 2023.09.26 |
jquery.animate()가 있는 CSS 회전 교차 브라우저 (0) | 2023.09.26 |
JQuery에 추천하는 자바스크립트 HTML 템플릿 라이브러리? (0) | 2023.09.26 |
PHP의 preg_match_all()과 유사한 자바스크립트의 regex와 다중 발생을 일치시키는 방법은 무엇입니까? (0) | 2023.09.26 |