레이블이 MySQL인 게시물을 표시합니다. 모든 게시물 표시
레이블이 MySQL인 게시물을 표시합니다. 모든 게시물 표시

2009년 7월 29일 수요일

MySQL 데이터베이스 백업

MySQL 데이터베이스 백업 :

 

mysqldump -h서버 -u사용자 -p암호 [백업할 테이터베이스 이름] > [저장할 파일 이름(*.sql )]

 

>> mysqldump -hlocalhost -uroot -ppassword testdb1 > testdb1-2007-06-27.sql

 

MySQL 테이블 백업 :

 

mysqldump -h서버 -u사용자 -p암호 [테이타베이스] [백업할 테이블 이름] > [저장할 파일 이름(*.sql)]

 

>> mysqldump -hlocalhost -uroot -ppassword testdb1 tbl1 > testdb1-tbl1-2007-06-27.sql

 

MySQL 데이터베이스 복구:

 

mysql -h서버 -u사용자 -p암호 [복구할 테이터베이스] < [저장된 파일]

 

>> mysql -hlocalhost -uroot -ppassword testdb1 < testdb1-2007-06-27.sql 

[php+mysql]쿼리로 데이터 배열 받아오기

#쿼리로 데이터 배열 받아오기
function selectQuery($query){
 $result = mysql_query($query);
 while ($data = mysql_fetch_array($result,MYSQL_ASSOC)) {
  foreach ($data as $key => $value){
   $List[$key][] = $value;
  }
 }
 //print $query;
 return $List;  // example) <loop>print list[field][$i]</loop>;
}

[php+mysql]쿼리 총갯수 가져오기

#갯수 가져오기
function selectCount($table,$field="num",$where=""){
 $query = "SELECT count(".$field.") FROM ".$table." ".$where;
 $data = mysql_fetch_array(mysql_query($query));
 $return = $data[0];
 return $return;
}

2009년 7월 28일 화요일

mysql root 패스워드 강제 변경


1. 실행중인 MySQL을 종료한다.

killall mysqld

2. "./mysqld_safe --skip-grant-table &" 로 사용자 인증과정 없이 MySQL를 실행한다.

/usr/local/mysql/bin/mysqld_safe --skip-grant-table &

3. 패스워드 없이 MySQL root 계정으로 MySQL에 접속한다.

/usr/local/mysql/bin/mysql -u root mysql

4. update문으로 MySQL 데이터베이스의 user 테이블에 있는 MySQL root사용자의 패스워드를 변경한다.

update user set password=password('tnghkrl') where user = 'root';

5. "flush privileges" 명령어로 변경된 MySQL 권한테이블(db, user 테이블들)들에 변경된 권한설정들을 적용한다.

flush privileges;

6. MySQL을 빠져나와서 실행했던 MySQL을 종료한다.

exit

killall mysqld

7. 일반적인 방법으로 MySQL을 실행한다.

/usr/local/mysql/bin/mysqld_safe &

8. 정상적인 방법으로 패스워드를 사용하여 MySQL의 root계정으로 접속하여 확인한다.

/usr/local/mysql/bin/mysql -u root -p mysql

/etc/init.d/mysqld stop
/etc/init.d/mysqld start