헤르메스 LIFE

[MySQL] MYSQL 많이 사용하는 명령어 본문

Database

[MySQL] MYSQL 많이 사용하는 명령어

헤르메스의날개 2012. 5. 13. 14:44
728x90

 

mysql에서 많이 사용하는 명령어.pdf
다운로드

 

작성자 : 기술지원부 최보근 milkissu@nextline.net

 

mysql

 

MYSQL 설치위치 : /usr/local/mysql/

MYSQL client mysql 위치 : /usr/local/mysql/bin/mysql

1. MYSQL 데이터베이스의 실행, 실행 확인

# /usr/local/mysql/bin/mysqld_safe &

(3.* 버전 이하에서는 /usr/local/mysql/bin/safe_mysqld &)

 

# netstat -anp | grep LISTEN 으로 mysql이 가동 된 것을 확인 합니다.

 

2. MYSQL 데이터베이스 접속하기

사용형식 : mysql -u MYSQL 계정명 -p 접속할 데이터베이스명

mysql : MYSQL 데이터베이스로 접속하기 위한 MYSQL 클라이언트 프로그램

-u : 접속할 MYSQL 계정(사용자)명을 지정하기 위한 옵션

MYSQL 계정명 : 데이터베이스로 접속할 MYSQL의 사용자(계정)명

-p : 패스워드를 입력하기 위한 옵션

접속할 데이터베이스명 : 접속 후 사용할 데이터베이스명

# mysql -u root -p

 

3. 일반 사용자 생성 및 데이터베이스 생성

root 권한으로 접속을 합니다.

db를 생성합니다.

mysql> create database db명;

mysql>

 

mysql> grant all privileges on 계정명.* to db명@"localhost" identified by '비밀번호';

 

방금 생성한 계정으로 접속하여 확인 합니다.

 

4. 일반 사용자 삭제 및 데이터베이스 삭제

mysql> use mysql : MYSQL의 정보가 있는 mysql db를 선택

mysql> show tables; : 각 항목들을 나열

mysql> select * from user; : 사용자 계정들을 나열

중략

사용자 삭제

mysql> delete from user where user='유저명';

db 삭제

mysql> show databases; (DB정보확인)

mysql> drop database DB명; (DB삭제)

 

5. root / 사용자계정 패스워드 변경 방법

mysql>use mysql;

mysql>update user set password=password('암호지정') where user='계정명';

mysql>flush privileges;

mysql>quit

 

6. mysql root 패스워드를 분실하였을 경우

# killall mysqld

# mysqld_safe --skip-grant-tables&

# mysql –u root –p mysql

(비밀번호 입력에서 입력안하고 엔터)

mysql> update user set password=password('암호지정') where user = 'root';

mysql> flush privileges;

mysql> exit

# killall mysqld

# mysqld_safe&

 

Mysqladmin(MYSQL 관리전용 명령어)

 

명령어위치 : /usr/local/mysql/bin/mysqladmin

사용형식 : mysqladmin –u root –p 명령어

 

1. mysqladmin 으로 MYSQL 서버 종료하기.

# mysqladmin –u root –p shutdown

 

2. mysqladmin 으로 사용자 패스워드 변경하기.

# mysqladmin –u 사용자계정 –p password 변경할 비밀번호

 

3. too many connection 에러 발생시

# mysqladmin -u root -p variables | grep max_connections (max_connections 값 확인)

# mysqladmin -u root -p variables | grep table_cache (table_cache 값 확인)

# mysqladmin -u root -p variables | grep wait_timeout (wait_timeout 값 확인 )

# mysqladmin –u root -p shutdown

# mysqld_safe -O max_connections=500 -O table_cache=256 -O wait_timeout=57600 &

계속 적용 시켜줄 경우에는 ntsysv에서 해당 데몬 삭제후 /etc/rc.local 에 라인 추가

 

Mysqldump(MYSQL 백업 명령어)

1. # mysqldump -u root -p mysql > mysql.sql

-> mysql database를 백업하여 mysql.sql 파일에 저장

(복구) -> mysql -u root -p < mysql.sql

 

2. # mysqldump -u root -p mysql test > test.sql

-> mysql database의 test 테이블을 백업하여 test.sql 파일에 저장

(복구) -> mysql -u root -p < test.sql

 

3. # mysqldump -u root -p --databases mysql testdb > dbs.sql

-> mysql과 testdb를 백업하여 dbs.sql 파일에 저장

(복구) -> mysql -u root -p < dbs.sql

 

4. # mysqldump -u root -p --all--databases > ALLDATA.sql

-> 전체 데이터베이스를 백업하여 ALLDATA.sql 파일에 저장

(복구) -> mysql -u root -p < ALLDATA.sql

 

5. # mysqldump -u root -p --add-drop-table temp_db2 > temp_db2.sql

-> 기존 테이블 삭제후 백업된 파일로 복구

728x90