MYSQL 6

멀티 컬럼 인덱스

단일 select EXPLAIN SELECT 컬럼이름1 FROM 테이블이름; 결과 멀티 select EXPLAIN SELECT 컬럼이름1, 컬럼이름2 FROM 테이블이름; 결과 문제점 컬럼이름1, 컬럼이름2로 개별 인덱싱이 각자 되어있음에도 불구하고 두개를 동시해서 select 하면 인덱싱이 동작하지 않는다 수정 방안 멀티 컬럼 인덱스를 추가한다 ALTER TABLE 테이블이름 ADD INDEX 멀티컬럼인덱스이름(컬럼이름1, 컬럼이름2);

pymysql

pymysql mysql timestamp select import datetime timestamp = datetime.datetime(2020, 1, 1) q = "SELECT * FROM test_table WHERE created_timestamp < %s" cursor.execute(q, (timestamp))column type 이 timestamp 라면 string으로 selct 하지 말것 timestamp = '2020-01-01' 오류는 발생하지 않지만 select는 불가능합니다. 꼭 datetime으로 변환해서 넣어줘야 합니다 pymysql timestamp 일부만 update 날짜는 그대로 두고 년도와 월만 update today = "2020-01" q = "UPDAT..

Python 2020.06.01

데이터 관리

DB전체 백업하기 mysqldump --login-path=패스이름 --single-transaction --quick --lock-tables=false --databases 디비이름 > /경로/파일이름.sql 특정 DB에서 특정 Table만 백업하기 mysql --login-path=패스이름 --databases 디비이름 --tables 테이블이름 > /경로/파일이름.sql 백업한 파일을 다른 서버로 복사하기 scp /경로/파일이름.sql SSH이름:/경로/ DB 전체 벌크백업 mysql --login-path=패스이름 디비이름 < /경로/파일이름.sql

mysql_config_editor

mysql_config_editor id/pwd 없이 키파일로 접속이 가능하도록 하는 파일 계정의 .mylogin.cnf 라는 파일로 저장된다 .mylogin.cnf 파일은 소유자만 read write 할수있는 권한 600에서만 동작한다 암호에 # 스트링을 포함하지 않아야 한다 centos 에는 mariadb가 기본적으로 설치되어 있기 때문에 일단 삭제 1. 패키지를 확인 yum list installed mariadb\* yum list installed maria\* 2. 나오는 것들을 모두 삭제한다 yum remove -y mariadb-devel.x86_64 3. mysql이 혹시 설치되었을지도 모르니 확인해본다 mysql -V mysql client 설치(서버 X) yum install mysq..