MySQL 시간대 변경(Change TimeZone)

AWS에서 서버 세팅시에 MySQL 설치후 우리나라 시간대가 맞지 않는 경우가 있는데,  이경우 시간대를 한국 시간대로 맞추는 작업이 필요합니다. #MySQL 접속후에 시간대 확인하기 SELECT @@global.time_zone, @@session.time_zone; 결과가 UTC로 나올 거에요. #한국 시간대로 설정하기 SET GLOBAL time_zone=’Asia/Seoul’; SET time_zone = ‘Asia/Seoul’; 설정후에 ‘Asia/Seoul’로 시간대가 나오는지 확인해 봅니다. #MySQL 접속후에 시간대 확인하기 SELECT 더보기…

마이아이삼과 이노DB(MyISAM vs InnoDB)

MySQL 및 Maria DB에서 자주 사용되는 데이터베이스 엔진인 MyISAM과 InnoDB는 아래와 같은 특징을 가지고 있습니다. 1. MyISAM(Indexed Sequential Access Method) – 트렌젝션을 지원하지 않는다 – Full-text Search – 잦은 Select Query 시 사용하면 좋다 – Table Lock 2. InnoDB(Maria : XtraDB) – 트렌젝션 지원 – Full-text Search(MySql : 5.6, Maria 더보기…

MySQL 전체 텍스트 검색(Full-text Search)

전체 텍스트 검색(Full-text Sarch)을 이용하려면 아래와 같은 작업을 선행해야 합니다. – MyISAM, InnoDB(MySql : 5.6, Maria : 10.0.5 부터 지원) – Full-text 검색을 하려면, Full-text Index를 생성해 줘야한다 – 컬럼 데이터 타입은 Text, Binary Char, Varchar 만 지원됨 – 한글 검색은 UTF8만 지원됨 – 인덱스 생성후 전용 함수를 이용하여 검색한다 더보기…

AWS ec2 bitnami MySQL “root” 계정 비밀번호 잊어버렸을때 강제 비밀번호 설정하기(AWS ec2 bitnami MySQL “root” password force setup in WebServer)

aws ec2 bitnami MySQL “root”  계정 비밀번호 잊어버렸을때(또는 실수로 잘못 설정했을때), 웹서버에서 강제로 비밀번호 설정하는 방법입니다. 1. MySQL 버전에 맞춰 비밀번호 초기화 명령어를 넣습니다. echo “UPDATE mysql.user SET password=PASSWORD(‘비밀번호’) WHERE user=’root’; FLUSH PRIVILEGES;” > /home/bitnami/mysql.init 2. bitnami MySQL stop script sudo /opt/bitnami/ctlscript.sh stop mysql 3. bitnami MySQL safemode로 실행하기 sudo 더보기…

MySQL DB 느려졌을때 확인 및 해결 방법

mysql DB가 갑자기 느려졌을 경우에 원인 파악 및 해결 방법입니다. #slow_log 확인하여 느린속도로 실행되는 query 찾기 SELECT * FROM mysql.slow_log; #1초이상 느려진 쿼리 확인되면, 해당 쿼리를 분석하여 속도를 높인다. #process 확인하여 실행시간이 긴 프로세스 확인하기 SHOW FULL PROCESSLIST; #확인후 process id를 이용하여 삭제 KILL 프로세스ID

MySQL 데이터 입력시 데이터 타입이 틀릴때 에러 나지 않게 하는 방법

mysql 에서 데이터 입력시 데이터 타입이 틀리거나, 빼먹을 경우에도 보통  입력이 되는데, 입력이 되지 않을경우 확인하여 모드를 변경하면 됩니다. SHOW GLOBAL VARIABLES LIKE ‘%sql_mode%’; #sql_mode값이 NO_ENGINE_SUBSTITUTION이 아니면 설정해 준다. SET GLOBAL sql_mode=’NO_ENGINE_SUBSTITUTION’; https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

MySQL 5.7 외부 접근 권한 추가

콘솔로 서버에서 mysql 로 접근후 로그인한다. mysql -h localhost -u root -p USE mysql; SELECT host, user FROM user; INSERT INTO user (host, user, ssl_cipher, x509_issuer, x509_subject) VALUES (‘%’, ‘root’, ”, ”, ”); GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’; FLUSH PRIVILEGES; mysql my.cnf —  파일을 열어서  아래와 같은 부분을 더보기…