본문 바로가기

Engineering/__01. Mysql

기본 명령어

0. mysql 설치 후 자동 실행 등록

 

Case1

     # chkconfig --level 3 mysqld on
     # chkconfig --list | grep mysqld
     mysqld          0:off   1:off   2:off   3:on    4:off   5:off   6:off


Case2

     # systemctl enable mysqld
     # systemctl disable mysqld   (비활성화)
     # systemctl list-unit-files (list 보기)
     # systemctl --failed  (자동실행 실패한 리스트 보기
     # systemctl is-enabled mysqld (자동실행 여부 보기)
     # systemctl is-active (현재 실행 상태)
     # systemctl status mysqld (현재 상태)

 

 

 

1. mysql 서버를 인증 기능 없이 수행하기 (root 암호, 권한 등에 문제가 생겼을 경우, 무조건 접속되므로 보안 주의)

# mysqld_safe --skip-grant-tables &

 

2. 파일로 실행 및 출력

       #  mysql -uadmin -p < test.sql > testdata.txt&

 

3. 여러 table 쿼리 결과를 한번에 출력

 

USE testDB;
SELECT num, FROM_UNIXTIME(timestamp), INET_NTOA(sipv4), sport, INET_NTOA(dipv4), dport, protocol, direction, pkt_id, rule, inpacket, outpacket, iface, descr FROM (
SELECT * FROM 20240702_table UNION ALL
SELECT * FROM 20240703_table UNION ALL
SELECT * FROM 20240704_table UNION ALL
SELECT * FROM 20240705_table UNION ALL
SELECT * FROM 20240706_table UNION ALL
SELECT * FROM 20240707_table UNION ALL
SELECT * FROM 20240708_table UNION ALL
SELECT * FROM 20240709_table
) as TBL;

 

 

4. Table 복사하여 만들기

 

CREATE TABLE new_table LIKE org_table;

 

 

5. 여러 Table 을 하나의 테이블에 집어 넣기

 

insert into new_test select * from (
    -> select * from org_table1 UNION ALL
    -> select * from org_table2 UNION ALL )

    -> select * from org_table3)
    -> as TBL;

 

 

6. 여러 Table 을 하나의 테이블에 집어 넣다가  ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY' 

    와 같은 에러가 나는 경우 해당 key 는 제외하고 넣기

insert into new_test (row2, row3, row4) select row2, row3, row4 from (
    -> select row2, row3, row4 from org_table1 UNION ALL
    -> select row2, row3, row4 from org_table2 UNION ALL )

    -> select row2, row3, row4 from org_table3)
    -> as TBL;

 

7. 파일1로 쿼리를 실행하여 파일2로 쿼리를 저장하기.

 

mysql -uuser -ppass < file1.sql > file2.text

file1 에는 다음과 같이.

 

USE dbname;

insert into new_test (row2, row3, row4) select row2, row3, row4 from (
    -> select row2, row3, row4 from org_table1 UNION ALL
    -> select row2, row3, row4 from org_table2 UNION ALL )

    -> select row2, row3, row4 from org_table3)
    -> as TBL;

'Engineering > __01. Mysql' 카테고리의 다른 글

[TIP]  (0) 2022.08.22
CSV 파일 import  (0) 2020.07.29
errorcode[1292]\n errormsg:Incorrect datetime value: \'0000-00-00 00:00:00\' for column \  (0) 2018.07.30
[Mysql] 기본  (0) 2017.07.05