Database/MariaDB(Mysql) 썸네일형 리스트형 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.. 더보기 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 데이터 행번호 매기기 - ROWNUM Mysql에서 데이터를 가져올때 해당 데이터를 저장된 데이터와 별도로 row의 number를 지정해서 가져오기 위해 사용한다. set @r_num = 0; select (@r_num := @r_num + 1) as ROWNUM ,NAME from Datatable; C#으로 처리하면 아래와 같이 처리 할 수 있다. @rownum을 0으로 시작하면 가져온 NO 컬럼에 1부터 채워지게 된다. 더보기 MariaDB 설치 에러 Setup Wizard ended prematurely MariaDB 설치중 아래와 같이 오류가 표시되며 설치가 완료되지 않는다. 1. c:\windows\system32 폴더안에 vbscript.dll 파일이 존재하는지 확인한다. 없는 경우 아래의 vbscript.dll 파일을 다운받아서 해당 폴더에 넣어둔다. 2. 실행에 cmd(관리자 권한으로 실행) 으로 명령 프롬프트 창을 연다. 2. 명령 프롬프트에 아래와 같이 vbscript.dll을 레지스트리에 등록한다. regsvr32 c:\\windows\system32\vbscript.dll 이후 다시 설치를 진행하면 에러가 발생하지 않고 설치가 완료됨. 더보기 Mysql 대량 INSERT의 속도 개선을 위한 다양한 방법 1. LOAD DATA - Bulk Insert방법중 최대 속도인 처리방법 - 데이터를 파일로 로드해서 insert 하는 방법 - my.cnf에서 local-infile=1 설정이 되어 있어야 사용가능 - 단 데이터 내용안에 특수문자가 누락되는 경우가 많아서 특문을 별도 처리해야 함 LOAD DATA LOCAL INFILE '/work/data.txt' INTO TABLE TEST (c1,c2,c3,c4); 2. MULTI-VALUE INSERTS - 쿼리문 하나에 n개의 데이터를 입력해야함 - 단 데이터 갯수가 너무 많아져서 쿼리길이기 길어지는 경우를 대비하여 max-allowed-packet 길이를 조절해야 함. INSERT INTO [Table Name] VALUES (1,...), (2,...),.. 더보기 Maria DB 특정버젼으로 선택 후 설치하기 부제 : yum을 이용하여 원하는 버젼의 Maria DB를 설치하기 1. MariaDB 홈페이지의 다운로드 페이지로 이동 downloads.mariadb.org/mariadb/repositories/ MariaDB - Setting up MariaDB Repositories - MariaDB To generate the entries select an item from each of the boxes below. Once an item is selected in each box, your customized repository configuration will appear below. 1. Choose a Distro SLES openSUSE Arch Linux Mageia Fedora CentOS Re.. 더보기 mysql connector net 삭제 안되는 문제 해결하기 부제 : windows 10에서 설치된 프로그램이 삭제되지 않을때 해결방법 프로그램 제거시 리스트에서 삭제되지 않거나 제거중 문제가 발생시 아래의 프로그램으로 해결이 가능하다. - 마이크로소프트에서 제공하고 있었으나 Microsoft Easy Fix 솔루션은 더 이상 지원되지 않습니다 라고 한마디 남기고 해당프로그램 다운로드 링크를 삭제했다. 그래서 첨부파일로 올려드립니다. 사용법은 간단하다. 1. 다운로드 후 해당 프로그램을 실행 2. 다음 클릭 3. 삭제하고자 하는 프로그램을 선택한다. 4. 정리하시겠습니까?에서 '예, 제거합니다.' 선택 5. 제거프로그램이 해당 프로그램을 제거한다. 6. 제거가 완료되면 아래와 같이 문제 해결을 완료했습니다. 라고 표시되면 프로그램을 종료합니다. 더보기 이전 1 2 다음