mysqldump 옵션

리눅스/mysql 2017. 1. 20. 14:49

--skip-extended-insert
해당옵션은 MySQL덤프를 뜨는경우 VALUES뒤에 여러 개의 데어터셋이 붙어있는 다중열 신텍스 형태로
덤프 뜨지않아 구문어서 해당라인을 찾기가 용의

--allow-keywords 
MySQL예약어와 동일한 필드명이 있을경우 복원시에 에러가 발생시
이옵션을 이용하여 덤프를 받으면 테이블명와 필드명에 ``해당 기호가 삽입되어 정상적으로 인식

--complet-insert -c
완전한 인서트문을 구성한다 .
 ex) insert into table_name(field1,field2) values(value1,value2)

--no-data
덤프시 데이터를 구성하지 말라는 옵션이다 .
이는 스키마 만 덤프를 받아 개발이나 구성서시 주로이용

--no-create-db
테이블 생성 쿼리를 구성하지 말라는 옵선

--quick, -q
대용량 데이타베이스를 덤프뜰때 유용 
한번에 한열씩 축출하며 쓰기전에 메로리에 버퍼링을 하록 하는옵션

--xml -x
XML형태로 덤프 받을시 이용

--default-chareter-set
덤프받을시 지정하는게릭터셋으로 연결하여 덤프 받는 옵션
하지만 테이블의 언어셋을 변경하여 받아주지는않음.


실제 mysqldump의 옵션은 많지만 주로사용하는것만 기술하였다.

 

2. 간단한 사용법에 대해 알아보자

분명히 euc_kr 데이터가 쌓여있는데 덤프를 받으면 깨지는경우

     -  이는 MySQL 서버가 다른언어셋으로 구성되어 있어 이중으로 인코딩되어 
        한글이나 다른언어들이 깨지는 현상이 발생한다 .
 이경우는 다음고 같이 덤프 받는다.

 mysqldump --default-chareter-set=euckr -u user -p  dbname > dbname.sql


버전이 달라  mysql디비가 인서트가안될경우 
     - 메이져 버전이 다를경우 MySQL데이터베이스안의 user,db,hot등의 테이블 구조가 달라 
       일반적으로 덤프를든경우  정상적으로 인서트되니않는다.
 이경우는 다음고 같이 덤프 받는다.

 mysqldump --complet-insert -u user -p  dbname > dbname.sql


예약어와 동일한 필드명 때문에 인서트가안될경우 
     - 필드명으로 인식하기전에 예약어로 인식하여 에러를 발생시킨다.
 이경우는 다음고 같이 덤프 받는다.

 mysqldump --allow-keywords -u user -p  dbname > dbname.sql

 

보통 덤프를 받을때 
 mysqldump --allow-keywords --default-chareter-set=euckr --skip-opt  -u user -p  dbname > dbname.sql
        위와 같은 형테로 받는다면 큰무리없이 복원이 가능할것이다.


출처 : https://www.linux.co.kr/home/lecture/index.php?cateNo=3&secNo=16&theNo=45&leccode=10956



'리눅스 > mysql' 카테고리의 다른 글

binlog로 DB복구  (0) 2016.08.09
my.cnf 위치 찾기  (0) 2016.02.11
mysql 5.5 이상 캐릭터셋 변경  (0) 2015.08.16
mysql 4.0 설치시 에러  (0) 2015.07.28
mysql 제로보드 패스워드 초기화  (0) 2015.07.09
Posted by Narusika
,

 bin-log를 통해 쿼리문을 추출


/usr/local/mysql/bin/mysqlbinlog –database=dbname –start-date=”2015-04-27 00:00:00″ –stop-date=”2015-04-28 00:00:00″ ./mysql-bin.000050 > backup.sql


(mysql 설치경로의 bin 디렉토리)    (백업할 db명)      (복구할 시작날짜)                     (복구할 마지막 날짜)           (복구에쓰일 bin 로그파일)        >     (복구한 sql 명)

'리눅스 > mysql' 카테고리의 다른 글

mysqldump 옵션  (0) 2017.01.20
my.cnf 위치 찾기  (0) 2016.02.11
mysql 5.5 이상 캐릭터셋 변경  (0) 2015.08.16
mysql 4.0 설치시 에러  (0) 2015.07.28
mysql 제로보드 패스워드 초기화  (0) 2015.07.09
Posted by Narusika
,

/usr/local/mysql/bin/mysql --verbose --help | grep -A 1 'Default options'

'리눅스 > mysql' 카테고리의 다른 글

mysqldump 옵션  (0) 2017.01.20
binlog로 DB복구  (0) 2016.08.09
mysql 5.5 이상 캐릭터셋 변경  (0) 2015.08.16
mysql 4.0 설치시 에러  (0) 2015.07.28
mysql 제로보드 패스워드 초기화  (0) 2015.07.09
Posted by Narusika
,

[client]

default-character-set = euckr


[mysqld]

character_set_server=euckr


[mysqldump]

character_set_server = euckr


[mysql]

default-character-set=euckr


Posted by Narusika
,

checking "LinuxThreads"... "Not found"

configure: error: This is a linux system and Linuxthreads was not

found. On linux Linuxthreads should be used.  Please install Linuxthreads

(or a new glibc) and try again.  See the Installation chapter in the

Reference Manual for more information.


아래 한줄 입력해주자


echo '/* Linuxthreads */' >> /usr/include/pthread.h


Posted by Narusika
,


* DB 로 접속합니다.

#   mysql -uroot -proot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1885 to server version: 5.0.26

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>



* databases 확인

mysql> show databases ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_zb4             |
| db_zb5             |
| mysql              |
| test               |
+--------------------+
5 rows in set (0.07 sec)

mysql>



* 제로보드5 설치 database 접속

mysql> use db_zb5 ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql>



* 테이블 확인

mysql> show tables ;
+--------------------------+
| Tables_in_db_bbs2        |
+--------------------------+
| zb_analytics             |
| zb_articles              |
| zb_comment               |
| zb_file                  |
| zb_layout_manager        |
| zb_member_level          |
| zb_member_level_manager  |
| zb_member_list           |
| zb_member_mail           |
| zb_member_signup_manager |
| zb_menu_manager          |
| zb_menu_tree             |
| zb_message               |
| zb_module_category       |
| zb_module_manager        |
| zb_page_category         |
| zb_page_manager          |
| zb_page_plugin           |
| zb_plugin_category       |
| zb_plugin_manager        |
| zb_referer_query         |
| zb_report_log            |
| zb_search_keyword        |
| zb_sequence              |
| zb_serial                |
| zb_server_manager        |
| zb_session               |
| zb_session_autologin     |
| zb_site_manager          |
| zb_site_message          |
| zb_survey                |
| zb_survey_item           |
| zb_survey_log            |
| zb_tag                   |
| zb_trackback             |
+--------------------------+
35 rows in set (0.00 sec)

mysql>



*  패스워드를 갖고 있는 zb_member_list 테이블 구조 확인 (Describe)

mysql> desc zb_member_list ;
+-----------------+--------------+------+-----+---------+-------+
| Field           | Type         | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| member_srl      | int(11)      | NO   | PRI |         |       |
| listorder       | int(11)      | NO   | MUL |         |       |
| user_id         | varchar(20)  | NO   | UNI |         |       |
| passwd          | varchar(60)  | NO   |     |         |       |
| user_name       | varchar(20)  | NO   |     |         |       |
| nick_name       | varchar(20)  | NO   | UNI |         |       |
| email_address   | varchar(255) | NO   | UNI |         |       |
| email           | varchar(255) | NO   |     |         |       |
| email_host      | varchar(255) | NO   | MUL |         |       |
| extend_val      | text         | YES  |     | NULL    |       |
| new_message     | int(11)      | NO   |     |         |       |
| point           | int(11)      | NO   |     |         |       |
| allowed         | varchar(2)   | NO   |     | N       |       |
| denied          | varchar(2)   | NO   |     | N       |       |
| mailing         | varchar(2)   | NO   | MUL | N       |       |
| manager_message | text         | NO   |     |         |       |
| regdate         | varchar(14)  | NO   | MUL |         |       |
| last_signin     | varchar(14)  | NO   |     |         |       |
| image_nick      | varchar(255) | NO   |     |         |       |
| image_mark      | varchar(255) | NO   |     |         |       |
| profile_image   | varchar(255) | NO   |     |         |       |
| sign            | text         | NO   |     |         |       |
+-----------------+--------------+------+-----+---------+-------+
22 rows in set (0.02 sec)

mysql>



* admin 계정 관련 기본 정보 확인 (select)

mysql> select user_id, passwd, user_name from zb_member_list ;
+---------+----------------------------------+-----------+
| user_id | passwd                           | user_name |
+---------+----------------------------------+-----------+
| admin   | 890sdfsdfd78fsdfsd89sdf1234mmcaq | admin     |
+---------+----------------------------------+-----------+
1 row in set (0.00 sec)



* admin 계정 패스워드 변경 (초기화) 하기

mysql> update zb_member_list set passwd='21232f297a57a5a743894a0e4a801fc3' where user_id='admin' ;

Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0


위와 같이 패스워드 값을 변경 (초기화) 하면 admin / admin 으로 로그인 할수 있습니다.


(참고로 패스워드 값을 '81dc9bdb52d04dc20036dbd8313ed055' 로 update 하면  admin 패스워드를 1234 로 변경할 수 있습니다.......)




마지막으로 웹 관리자 페이지로 접속하여 패스워드 변경후 사용하시면 됩니다....... 



http://www.wowunix.com/cgi-bin/CrazyWWWBoard.cgi?mode=read&num=22&db=zeroboard&backdepth=1

Posted by Narusika
,

configure 후  make&make install 시 오류 발생

 

mysql.cc: In function 'void print_table_data(MYSQL_RES*)':

mysql.cc:1650: error: expected primary-expression before '?' token

mysql.cc:1650: error: expected ':' before ')' token

mysql.cc:1650: error: expected primary-expression before ')' token

mysql.cc:1652: error: expected primary-expression before '?' token

mysql.cc:1652: error: expected ':' before ')' token

mysql.cc:1652: error: expected primary-expression before ')' token

mysql.cc:1666: error: expected primary-expression before '?' token

mysql.cc:1666: error: expected ':' before ')' token

mysql.cc:1666: error: expected primary-expression before ')' token

make[1]: *** [mysql.o] Error 1

make[1]: Leaving directory `/usr/local/src/APM_Setup/mysql-4.0.27/client'

make: *** [install-recursive] Error 1

 

이런식으로 뜨면 gcc버전 문제로 설치가 안 된다고 함.

 보통의 경우 gcc 및 g++ 버전이 높아 설치시 에러가 뜨는 것인데

 대처 방법은 우선 호환성 라이브러리 패키지를 설치해주고



[해결방법]

# yum install compat-*

 

gcc와 g++의 이름변경으로 백업후 gcc34, g++34 심볼릭 링크로 gcc,gcc++를 생성해주면된다

# cd /usr/bin

# mv gcc gcc-backup

# mv g++ g++-backup

# ln -s gcc34 gcc

# ln -s g++34 g++

 

설치 후에는 make & make install로 설치 진행




참고 sosnote.com

'리눅스 > mysql' 카테고리의 다른 글

mysql 4.0 설치시 에러  (0) 2015.07.28
mysql 제로보드 패스워드 초기화  (0) 2015.07.09
mysql 실행 시 -bash: mysql: command not found  (0) 2015.06.22
mysql 실행 에러  (0) 2015.06.08
mysql 실행 오류  (0) 2015.05.30
Posted by Narusika
,

mysql 실행 시 -bash: mysql: command not found


# vi /etc/profile  맨 마지막 줄에


export PATH="$PATH:/usr/local/mysql/bin"  


source /etc/profile   바로적용

'리눅스 > mysql' 카테고리의 다른 글

mysql 제로보드 패스워드 초기화  (0) 2015.07.09
mysql make시에 에러 발생 error: expected primary-expression before '?' token  (0) 2015.06.29
mysql 실행 에러  (0) 2015.06.08
mysql 실행 오류  (0) 2015.05.30
mysql ip 설정  (0) 2015.05.16
Posted by Narusika
,


# /etc/rc.d/mysqld start

# Starting MySQL. ERROR! Manager of pid-file quit without updating file.


1)

 /etc/my.cnf를 삭제


# /usr/local/mysql/bin/mysql_install_db --user=mysql     재생성후 시작



2) /usr/local/mysql/data 폴더에서


mysql-bin.00001    뭐 이런파일들 권한을 보고 mysql로 바꿔서 실행해본다




실행했을때


usr/local/mysql/bin/mysql: error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: No such file or directory


/usr/local/mysql/bin/mysqld_safe &  


/usr/local/mysql/bin/mysql -u root -p   실행 하면 된다

Posted by Narusika
,

[root@localhost ~]# /etc/init.d/mysqld start
Starting MySQL.Manager of pid-file quit without updating fi[FAILED]

전에 mysql 버젼의 /etc/my.cnf 가 존재하는듯함. 그걸 지우고 
cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf
요거 해주고 다시 해보면 실행된다





http://www.kensei.co.kr/board_redhat/709

'리눅스 > mysql' 카테고리의 다른 글

mysql 실행 시 -bash: mysql: command not found  (0) 2015.06.22
mysql 실행 에러  (0) 2015.06.08
mysql ip 설정  (0) 2015.05.16
mysql 테이블 복구  (0) 2015.04.06
mysql 기본 명령  (0) 2015.04.06
Posted by Narusika
,