그리 자주 사용하지는 않지만 매우 필요한, 잊어버리지말자!
데이터베이스 루트 비밀번호 분실시일단 mysql 프로세스를 모두 죽인다.killall mysqld 혹은 /etc/init.d/mysqld stop 그후 계정이 없는 모드로 mysql을 실행한다. safe_mysqld --user=root --skip-grant-tables & 혹은 mysqld_safe --user=root --skip-grant-tables & 후에 mysql 로 들어간후 use mysql; update user set password=password('114') where user='root'; 로 변경한다. 예전 시스템의 경우 비밀번호방식이 다른데 old_password로 변경할수 있다. 데이터베이스 이전시 덤프와 입력을 동시에!mysqldump -h 192.68.0.30 -uroot -p114 --skip-lock-tables data | mysql -h 192.68.0.31 -uroot -p114 data재시작이 안될경우... netstat -nlp 하면 각 포트당 물고있는 서비스들이 나온다. 보통은 killall mysqld 하면 죽지만 않죽는경우 위처럼 한다음 PID를 알아내 kill -9 pid 해서 강제로 죽인후 재시작 하면 된다. 또 vi /var/log/mysql.log 를 보면 원인을 알수있는데 다음과 같은 에러가 난다면 060716 17:21:53 mysqld started mysql-bin.index를 삭제해주고 시작하면 된다. 백업후 복구시 ERROR 1153 (08S01) at line 20555: Got a packet bigger than 'max_allowed_packet' bytes 와같은 에러가 난다면 [mysqld] max_allowed_packet=512M [client] max_allowed_packet=512M 이런식으로 설정을 바꿔준다. 최대 허용 패킷이라는건데 원격에서 할경우 날수 있는 오류이다. 4.0.1 이상부터는 1기가까지 가능하고 그 이하는 16M가 최대인다. Incorrect integer value: '' for column 'field' at row 1 MySQL 5.x 업그레이드 이후 Incorrect integer value: 문제로 strict mode를 주석처리 integer 값에 '' 빈 스트링값이 들어가서 생기는 오류 # Set the SQL mode to strict # sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" |
'Database'에 해당되는 글 3건
- 2010/04/13 mysql 자주쓰는 것들 모음
- 2006/06/14 mysql 데몬 실행 에러
- 2006/03/09 Can't open file: 'basket_print.MYI'. (errno: 144) 깨진 테이블 복구
Posted on 2010/04/13 14:19
Filed Under Database/Mysql
Posted on 2006/06/14 11:39
Filed Under Database/Mysql
//사이트에서... mysql.sock 에러 //쉘에서 [root@localhost bin]# ./mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data STOPPING server from pid file /usr/local/mysql/data/localhost.pid 060614 11:35:35 mysqld ended //해결 [root@localhost bin]#./mysqld_safe --user=root 유저를 지정해줌 |
Posted on 2006/03/09 10:39
Filed Under Database/Mysql
| Mysql 데이터 파일이 자주 깨지는 현상이 있다고 한다. 일반적으로 정전이나, 하드의 용량 부족등에 의해서 발생한다고 한다. 해결방법은.. ./mysqlcheck -u아이디 -p암호 --auto-repair -B 디비명 이렇게 하면 해당 디비의 모든 테이블을 검사한다. 모든 테이블을 검사한후 에러가 발생했던 테이블에 대해 복구 작업을 시도한다. 검색해보니 이건 100%복구가 된다고 하던데(물론 쿼리로 데이터가 수정된 경우는 않되겠지만) 유용한거 같다. |