Database 썸네일형 리스트형 레디스(Redis)내 유저 설정(ACL) 1. redis.conf 내에 aclfile /etc/redis/users.acl 추가(주석해제) user 정보를 저장하기 위해 파일 위치를 환경설정에서 지정해 준다. #aclfile /etc/redis/users.acl #부분 주석 해제 aclfile /etc/redis/users.acl 2. aclfile /etc/redis/users.acl 생성 #빈파일을 생성하여 저장할 수 있도록 처리 vi /etc/redis/users.acl 3. Redis 서비스 재시작 systemctl restart redis-server 4. 유저 추가 후 저장 #redis 서비스에 접속 [root@ip-10-0-0-10 redis]# redis-cli #기존 환경설정에 저장해둔 초기 유저로 접속(6버전 이상은 초기 사용.. 더보기 AWS RDS Mysql 8 버전에서의 대소문자 구분 처리 몇년전 개발한 시스템에서 mysql(V5.7)의 사용시 쿼리와 테이블에 사용된 문자가 대소문자가 섞여 뒤죽박죽이 되어 개발된 적이 있다. 해당 코드의 전체 수정이 힘들어 일단 my.cnf 에서 [mysqld] lower_case_table_names = 1 로 변경하여 사용 하였다. AWS Aurora RDS로 변경하여 사용중에 버전의 지원중단에 따른 경고가 계속되어 테스트를 위해 mysql 8 버전으로 업그레이드를 진행하였음. Mysql 8버전에서는 5.7버전과 다르게 서버 인스턴스 생성후 변경이 불가 하여 새로운 파라메터를 생성하여 lower_case_table_names = 1 으로 설정 변경후 Mysql 업그레이드를 진행하면서 해당 파라메터그룹으로 변경하여 작업을 진행함. - 기존 업그레이드시 d.. 더보기 Redis 설치 하기(AWS, lightsail, ec2, demian) 1. apt-get 업데이트 후 redis설치하기 sudo apt-get update sudo apt-get install redis-server - 설치는 완료되었으나 서비스 시작을 실패했다고 표시된다. 2. 설치후 실행 오류 상태 확인하기 systemctl status redis-server.service Failed to start Advanced key-value store. 이라는 에러만 표시되고 log를 확인해도 별다른 내용이 없다... 일단 서비스 부분이므로 서비스를 중단 하고 port 상태 부터 확인 한다. //redis 서비스 종료 systemctl stop redis-server.service //현재 포트 상태 확인 netstat -tuln 분명히 서비스를 종료했는데 아래와 같이 63.. 더보기 Mariadb(mysql) 사용자 추가(유저 계정 생성)하기 1. 유저 계정 생성하기 - 유저 생성과 접속 범위, 패스워드 설정 CREATE USER '[id]'@'[ip]' IDENTIFIED BY '[passwd]'; # localhost에서만 접속하는 home 아이디를 패스워드를 1234로 설정함 CREATE USER 'home'@'localhost' IDENTIFIED BY '1234'; 2. 권한 부여하기 - 유저에게 사용권한으로 모든 권한 설정 GRANT ALL PRIVILEGES ON [Database].[Table] TO '[id]'@'[ip]'; # localhost에서 접속하는 home유저에게 home_db란 데이터베이스에 모든 테이블의 권한을 부여함. GRANT ALL PRIVILEGES ON home_db.* TO 'home'@'localho.. 더보기 mysql(mariadb) 데이터 이전시 function 생성 오류(This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled) This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled mysql 5.6 버전에서 8버전으로 마이그레이션 작업중 아래와 같이 오류를 표시하고 작업이 중단되었다. 해당오류는 함수(Function) 생성시 제약을 하는 옵션이 설정되어 있지 않아 함수를 생성하지 못한다는 내용이므로 서버내에서 해당 옵션을 설정하여 준다. 1. Mysql 옵션내에서 log_bin_trust_function_creators 옵션을 수정하여야 한다. - 현재 서버가 AWS내에 RDS 서버이므로 서버내 파라미터 그룹에서 위 옵션으로 검색하여 값을 변경한다. 값 : 0(유저가 직접 fu.. 더보기 [Mysql -> SQLITE 변환] SQLITE에서 concat(문자열 합치기) 처리 mysql을 SQLITE로 변환중 near "concat": syntax error 라고 concat문이 없다고 에러 발생 SQLITE에서 의 문자열 합치기는 '||'로 변환하여 사용한다. --Mysql SELECT CONCAT(p_name, p_detail1, p_detail2) AS p_content FROM Products --SQLITE SELECT p_name || p_detail1 || p_detail2 AS p_content FROM Products 더보기 [Mysql -> SQLITE 변환] SQLITE에서 IF문 처리 Mysql을 SQLITE로 변환중 IF문에서 "no such function: IF" 라고 IF문이 없다고 에러 발생 SQLITE에서 의 IF문은 CASE문으로 변환하여 사용한다. --Mysql IF(user_type='3',pay_amount,0) AS pay_amount_person --SQLITE CASE WHEN(user_type='3') THEN pay_amount ELSE 0 END AS pay_amount_person 더보기 REDIS DB의 클라이언트 외부 접속시 속도 테스트 진행 C# 샘플데이터로 속도 테스트를 진행한 결과 - 샘플데이터는 실시간 코인 값 데이터 10만개로 단일 키로 등록테스트 진행 1. [0.411초] 10만개 MySQL 로 가져오기 2. [0.377초] Json Seriallizing 하기 3. [0.535초] redis에 단일키로 저장하기 4. [0.459초] redis에서 단일키로 가져오기 5. [0.059초] Deseriallizing해서 DataTable로 만들기 6. [0.022초] DataTable 내용으로 Grid 채우기 샘플데이터 테스트 결론 생각보다 접속 및 단일키 가져오기에 시간이 많이 소요됨 저장 및 가져오기를 서버내에서 하지 않고 외부에서 할 경우에도 실용성이 있는지 의문임 C#의 Json Seriallizer가 생각보다 성능이 괜찮네??? 더보기 이전 1 2 다음