2014-11-16 2 views
0

HeidiSQL을 사용하고 있습니다. 내 DB의 새 버전으로 이동했습니다. 이제는 두 가지 문제가있는 것 같습니다. 수리 방법에 대한 조언.MySQL에서 이전 DB에 액세스합니다. `information_schema '를 편집 할 수 없습니다. 새 행을 추가 할 수 없습니다. Repair advice please

1)보기가 매우 단순하지만 이전 DB를 참조하는 몇 가지보기가 있습니다.

information_schema에서 확인했는데 그곳에 VIEWS 테이블이 충분히 있는지, 내 의견은 이전 DB를 참조하고 있습니다. 하지만 편집하려고 할 때 : SQL Error (1044): Access denied for use [email protected] to database information_schema. (루트로 로그인했습니다.)

일부보기는 하드 코딩되지 않습니다. 일부는 select table1, table2 etc이지만 다른 것은 select database.table1, database.table2 etc입니다. 이 새로운 버전을 만들었을 때 (내 보낸 오래된 SQL을 새로운 빈 DB로 가져 왔을 때) 뷰에 언제 나타나는지 오류가 나타났습니다. "알고리즘"에 대해 뭔가가 있었고 두 번째 시도가 있었고이를 만들었습니다.

2) 일반적으로 HeidiSQL에서는 테이블에 빈 행을 추가 한 다음 편집 할 수 있습니다. 이제는 이름을 편집 할 수 있지만 을 지정할 수 없습니다. information_schema (및 이전 DB 중 일부)에서 행을 추가하려고하면 DATATYPE VARCHAR가 표시되지만 내 두 개의 새로운 DB는 DATATYPE 필드가됩니다. 공백으로 입력 할 수 없습니다.)

HeidiSQL에서 Maintenance을 사용했지만이 문제를 해결하지 못하는 것 같습니다. MySQL을 다시 시작했지만 (아직 컴퓨터는 아님).

의견이 있으십니까? 나는 phpMyAdmin이 얼마 전에 DB를 완전히 뒤섞어 관리하기 때문에 Heidi로 옮겼다.

답변

0

각보기의 코드를 직접 복사했습니다.

이전보기를 삭제 한 다음 같은 이름으로 다시보기를 만들었습니다. 그게 잘 됐어. 분명한 해결책을 생각해보십시오.

같은 문제가 발생하여 유용하다고 생각되면 최대한 도와주세요.

데이터베이스를 프로덕션 서버에 한 번에 업로드하고 신중하게 SQL을 확인합니다. 이 문제가 발생하면 조심하십시오. 문제가 쉽게 다시 나타날 수 있다고 생각합니다.

0

1.my.ini 또는 my.cnf의

$ mysqld --skip-grant-tables 

2.sh mysql을

$mysql -u root mysql 
$mysql> UPDATE user SET Password=PASSWORD('my_password') where USER='root'; 
$mysql> FLUSH PRIVILEGES; 

3.Finally, --skip-grant-tables 옵션없이 인스턴스/데몬을 다시 시작 .

$ /etc/init.d/mysql restart 

4. 새 암호로 연결할 수 있어야합니다.

$ mysql -u root -p 

Enter password: my_password