본문 바로가기

MySQL7

Docker로 MySQL과 Tomcat 개발 환경 만들기 Docker를 오늘 처음 대강 확인해 본 내용을 정리해 보았습니다. 개발 환경 MacOS Mojave 10.14.6 Get started Docker brew로 인스톨 brew install Docker docker-for-mac app install Get started with Docker Desktop for Mac 아래 주소에서 Docker Desktop for Mac을 다운받아서 인스톨 한다. (회원가입/로긴 필수) Get started with Docker Desktop for Mac 예외 대응 Docker 코멘드를 날렸는데 아래와 같은 메세지가 뜬다면 Docker 앱이 실행중인지 확인한다. Docker앱의 demon이 실행중이여야만 Docker 기능이 정상적으로 동작한다. Cannot con.. 2022. 12. 14.
C# private key로 SSH 접속 후 리모트 내의 MySQL에 접속해서 DB 조작 하기 하고 싶은 것 C#으로 콘솔 응용 어플을 작성 할 예정 외부에 있는 Linux 서버(VPS)에 private key로 SSH 접속해서 이것 저것 만지고 싶다 리모트 측의 MySQL(해당 서버 입장에서 보면 Localhost)에 접속해서 DB를 조작하고 싶다 전제 조건 SSH의 private key는 빌드한 폴더에 격납합니다. ex) \bin\Debug\openssh.key 또는 \bin\Release\openssh.key ※기본의 id_rsa(private key)파일을 카피해서 openssh.key로 이름을 변경 하였습니다. 필요한 패키지 SSH.NET https://www.nuget.org/packages/SSH.NET/ MySql.Data https://www.nuget.org/packages/My.. 2019. 1. 28.
MySQL에서 Rollback이 적용되지 않는 케이스에 대해 경위 수년전에 만들어진 사내용 DB가 존재하는데 이번에 DB를 사용하는 새로운 서브 시스템을 개발하게 되었습니다. 해당 DB는 기존에 있는 사내 시스템을 위해 구축된 녀석으로 이녀석에게 내가 할 수 있는건 SELECT/INSERT/UPDATE밖에 없습니다.(=DB설정을 바꿀 수 는 없는 상황) 서브 시스템은 데이터 연계용으로서 당연히(?) 트랜잭션 처리로 커밋과 롤백을 제어하고 싶습니다. 근데 아래와 같은 에러 메세지가 표시 되면서 MySQL에서 롤백 처리가 안되는 겁니다…; 1196 Some non-transactional changed tables couldn't be rolled back 원인 내가 보고 있는 테이블은 트랜잭션이 적용되지 않는 MyISAM 테이블이었기 때문에 롤백 처리를 지원하지 않.. 2019. 1. 28.
SQL Server : 데이터의 암호화와 복호화 SQL Server에서 데이터의 암호화와 복호화에 대해서 검증한 내용을 정리해 보았습니다. 0. 전제조건 대상의 SQL Server은 최신 버젼은 아님. 당시 기준 10여년 이상 된 낡은 버젼의 SQL Server 였음. DB단위의 인증이라거나 키는 가급적 사용하지 않고 어플 단위로 암호화와 복호화를 하고 싶음. 개발엔 Entity Framework를 사용예정. 하지만 SQL 직접 실행도 OK. 암호화 대상은 영어, 일본어를 기본으로 어느 나라 언어가 올지는 아무도 모름. DB기반이 아닌 암호화와 복호화도 조사해 보았으나 일본어의 한자 내용에 따라서 복호화시에 문자가 깨지는 상황이 자주 발생했기 때문에 DB에서 지원하는 암호화/복호화 기능을 사용하기로 함. 1. 검증용 DB작성(localDB) 2. 검증.. 2019. 1. 28.
Entity Framework에서 MySQL 접속하기 -2 Entity Framework에서 MySQL 접속하기 의 보충적인 내용입니다. 신규 프로젝트 작성 ~ DB 모델의 추가까지의 이미지 ※ DB는 WordPress의 테이블들이 있는 MySQL DB입니다. 1. Install-Package EntityFramework 2. Install-Package MySql.Data 3. Install-Package MySql.Data.Entity 4. Install-Package MySql.Web 5. Edit Web.config 6. Clean & Build 7. Make ADO.NET Entity Data Model 그외의 예외상황 해결방법 1. 날짜 변환시에 에러가 발생할 경우 MySQL에서 System.DateTime의 값을 취득할 경우에 하기의 에러가 발생하는.. 2019. 1. 23.
Entity Framework에서 MySQL 접속하기 0. Install-Package EntityFramework Entity Framework가 인스톨 되어 있지 않았을 경우엔 EntityFramework 6.0 을 설치합니다. 1. MySQL for Visual Studio를 설치 「mysql-for-visualstudio-2.0.5.msi」 Download MySQL for Visual Studio https://dev.mysql.com/downloads/windows/visualstudio/2.0.html 2. MySQL connector를 설치 「mysql-connector-net-6.9.11.msi」 다운로드 미러 http://mirror.cogentco.com/pub/mysql/MySQLInstaller/ 3. NuGet 패키지 관리에서 My.. 2019. 1. 23.
Entity Framework에서 tinyint(1)를 sbyte로 인식 시키고 싶을 경우의 해결 방법 1. config 파일을 수정 Web.config 또는 App.config의 에 “TreatTinyAsBoolean=false”를 추가합니다. 2. DB의 edmx 파일을 수정 SSDL content 부분의 bool를 tinyint로 수정합니다. 그리고 CSDL content 부분의 Boolean을 SByte로 수정합니다. 현재(2016.12) Web.config의 설정만으로 edmx가 자동으로 대응해 주는 방법은 없어서 exmd 파일에서 해당 컬럼과 모델 항목 설정을 일일이 수정해 줄 필요가 있습니다. 그리고 edmx에 변경이 발생할 때마다 (테이블의 추가/변경/삭제 등) 기존의 수동 설정은 새로 리셋되기 때문에 갱신 할때마다 설정을 수정하지 않으면 안됩니다. 처음부터 새로 DB를 구축할때 Entity.. 2019. 1. 21.