그리 자주 사용하지는 않지만 매우 필요한, 잊어버리지말자!
데이터베이스 루트 비밀번호 분실시일단 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" |
'2010/04'에 해당되는 글 1건
- 2010/04/13 mysql 자주쓰는 것들 모음
Posted on 2010/04/13 14:19
Filed Under Database/Mysql