mysql.proc에서 로드할 수 없습니다.테이블이 파손되었을 가능성이 있습니다.
중복된 것처럼 보이는 것은 알지만, 제가 찾은 솔루션은 제게 효과가 없습니다.MySQL 5.1을 제거하고 5.6을 설치했는데 이전에 내보낸 SQL 파일을 다시 가져오고 싶습니다.그러나 그 내보내기 파일에 오류가 발생하는 함수가 있습니다.다음 명령을 찾아 실행했습니다.
../bin mysql mysql_upgrade -uroot -p --force
하지만 제가 이해한 바로는 업그레이드 시에만 작동하며 설치 시에는 작동하지 않습니다.제게 무슨 해결책이 있을까요?
Import 파일에서 함수 정의도 삭제하여 Import가 완료되었습니다.그러나 함수를 수동으로 재정의할 경우 동일한 오류 "cannot load from mysql.proc"가 표시됩니다.기능은 다음과 같습니다.
DELIMITER $$
CREATE FUNCTION `randStr250`(length int) RETURNS varchar(250) CHARSET utf8
begin
declare s varchar(250);
declare i tinyint;
set s="";
if (length<1 or length>6) then
set s="Parameter should be in range 1-6. Your value was out of this range.";
else
set i=0;
while i<length do
set s=concat(s,sha1(now()));
set i=i+1;
end while;
end if;
return s;
end $$
DELIMITER ;
db 덤프를 mysql-5.5.29에서 mariadb-5.5.41로 복원한 후 동일한 문제가 발생하였습니다.mysql_upgrade는 문제를 해결했습니다.
$ mysql_upgrade -u root -pxxx
mysql 매뉴얼에 따르면
MySQL을 업그레이드할 때마다 mysql_upgrade를 실행해야 합니다.
이 문제가 있는 대부분의 사용자는 MySQL 업그레이드를 권장합니다.MASTER 노드에서 복제하도록 슬레이브 노드를 설정할 때 이와 같은 구성이 있는 경우 버전을 잘못 사용하고 싶지 않습니다.
제 경우 Windows MASTER 노드가 있고 Linux 슬레이브 노드를 셋업하고 있었습니다(mysqldump dance를 먼저 실행).MySQL 업그레이드는 Linux에서는 좀 더 까다롭기 때문에(혹은 LTS 디스트리뷰션에서 제공되는 Linux 패키지의 안정성을 즐기기 위해 하지 않는 것이 좋습니다), Windows OS의 MySQL 버전이 L의 MySQL 버전과 동일한 버전인지 확인하는 것이 좋습니다.inux OS 입니다.
두 버전이 동일한지 확인해보니 mysqldump와 restore가 작동하여 끔찍한 오류를 받지 않고 슬레이브 노드를 올바르게 셋업할 수 있었습니다.Cannot load from mysql.proc. The table is probably corrupted.
.
이게 도움이 됐으면 좋겠다.
brew를 사용하고 있기 때문에:brew upgrade mysql@5.6
도와준다
그런 다음 프로파일 bash 업데이트
echo 'export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"' >> /Users/mike/.bash_profile
모든 단말기를 다시 시작합니다.
언급URL : https://stackoverflow.com/questions/27918764/cannot-load-from-mysql-proc-the-table-is-probably-corrupted
'programing' 카테고리의 다른 글
C에서 uint32_t를 바이너리로 변환하는 중 (0) | 2022.11.06 |
---|---|
스프링 Jpa Repository의 %Like% 쿼리 (0) | 2022.11.06 |
JS 문자열 "+" 대 concat 메서드 (0) | 2022.11.06 |
1일마다 스케줄이 설정되어 있는 경우 mariadb/mysql 이벤트가 실제로 어떻게 동작하는지 및 ENS의 용도는 무엇입니까?이벤트가 완전히 비활성화됩니까? (0) | 2022.11.06 |
PHP: 소수 자릿수를 가져옵니다. (0) | 2022.11.06 |