'2018/06'에 해당되는 글 2건

집에 NAS가 하나 있습니다. 모두 아시는 내용이죠?? 이 녀석 사용하지 좀 오래 된 듯한데.. 하여간 지금 시놀로지(헤놀로지) 5.2-5644 Update 5 버전이 설치가 되어있고, 영화, 음악, 사진 등을 잘 넣어서 보고있는데.. 



오늘 아침에 갑지가 이 녀석에게 DB 설치가 가능할 것 같다는 느낌이 딱! ... 결국 3시간 만에 성공을 한 것 같습니다.



0. 참고


https://m.blog.naver.com/PostView.nhn?blogId=oioi9i&logNo=220408830865&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

http://zetawiki.com/wiki/MySQL_원격_접속_허용



1. 설치는 쉬웠다!



피키지 센터에 MariaDB가 있어서 찾아보니 과거 MySQL의 친구(?) 버전이라 호화성이나 성능이 괜찮을 것 같아서 설치하기로 하고, Install 버튼을 누르니 특별히 뭐 물어보는 것도 없이 바로 설치 완료..


으흠;;



2. Admin계정 비밀번호 등은??



물개를 클릭하면 간단한 윈도우가 하나 뜨는데..



Change MariaDB password 버튼을 클릭해서, root 계정의 비밀번호를 변경할 수 있습니다. root가 admin인 것 같습니다..아마도..



3. DB설치는 되었는데, 어떻게 접속을 해야하지??


마리아 DB TX Tools 폴더에 오면 Tools 다운로드가 지원됩니다. 

https://mariadb.com/downloads/mariadb-tx/tools 


SQLyog를 선택하고 Download 버튼을 클릭하면, 응용프로그램이 다운 됩니다. 14일간 트라이얼로 사용할 수 있는 버전으로 정식으로는 99불을 주고 사면 됩니다.


물론 MySQL과 동일하기 때문에 MySQL 관리가 가능한 다른 프로그램을 사용하셔도 상관 없습니다.



4. DB 접속 1차 시도


처음 시도는 역시 실패! 실패 이유는 DB가 외부접속을 허용하지 않기 때문입니다.


DB를 외부접속 가능하게 하려면.. 3개의 DB 커맨드를 날려야 하는데..


이 커맨드를 날릴려면 NAS에 Telnet으로 접속을 해야 합니다.



5. NAS에 Telnet으로 접속하기



NAS에 Telnet으로 접속하기 위해서는 Control Panel에서 Terminal & SNMP를 선택해서 Enable Telnet service, Enable SSH service 2개를 체크 해 주고, Apply를 클릭합니다.


이제 Telnet을 이용해서 NAS에 접속 할 수 있습니다. 음음..그런데 윈도에 기본적으로 Telnet 클라이언트 설치가 되어 있지 않으니 설치를 해야겠죠?


Telnet 클라이언트 설치하는 부분에 대해서는 설명을 생략하겠습니다.



6. Telnet 클라이언트로 NAS 접속, MariaDB 접속


윈도우에서 Windows PowerShell을 실행 하고, 다음의 명령을 입력해서 NAS에 연결합니다. 아이피 주소는 자신의 NAS IP 주소입니다.


telnet 192.168.35.94



아이디와 패스워드를 입력해야 하는데..원래 사용하던 계정으로 로그인이 앙되더라구요..그래서 admin 계정을 사용할 수 있게 변경해야합니다.(원래 사용하던 계정을 사용해서 로그인할 수 있으면 그걸로 그냥 하셔도 될 듯..)



User -> admin -> Disallow the user to change account password, Disable this account 2가지의 체크를 풀고, OK를 입력합니다. 


BusyBox v1.16.1 (2015-11-12 18:06:25 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.


kaki_server>


로그인이 완료되면 대충 이런 메시지가 출력됩니다. 후후


이제 MariaDB에 연결해서 쿼리를 날려줘야 하는데. db에 연결하는 명령어를 몰라서 찾아보니..


kaki_server> mysql -u root -p

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.47-MariaDB Source distribution


Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]>


password는 아까 변경해준 녀석을 입력하시면 될 것 같습니다. 아마도..



7. 외부 접속 가능하도록 쿼리 입력


MariaDB [(none)]> INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('%','root',password('패스워드'),'','','');
Query OK, 1 row affected (0.00 sec)


MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


굵은 글씨 부분을 차례대로 입력하시고, 패스워드는 패스워드를 입력해 주세요, 


여기까지 하시면 외부에서 db에 연결 할 수 있습니다.



8. DB 접속 2차 시도..


4번으로 돌아가서 비밀번호를 입력하고 connect를 입력하면~



짜잔~ 연결이 되었습니다.



9. 주의사항


telnet 접속이 가능하도록 열어 놓고 작업을 한 후 바로 닫아 주어야 합니다. 그렇지 않으면 무지막지한 공격이 들어옵니다..쿨럭..


블로그 이미지

MVP kaki104

* Microsoft MVP - Windows Development 2014 ~ 2019 5ring * LINE : kaki104 * facebook : https://www.facebook.com/kaki104 https://www.facebook.com/groups/w10app/

Tag mariaDB, mysql, Nas

이번 포스트는 UWP 앱 숙원 2탄으로 멀티 인스턴스에 대한 내용을 다루어 보도록 하겠습니다.


ps. 어제 우리나라는 지고, 오늘 일본은 이겼군요.....ㅡ,.ㅡ



1. 참고

https://docs.microsoft.com/ko-kr/windows/uwp/launch-resume/multi-instance-uwp



2. 멀티 인스턴스 앱을 만들기 위한 준비


멀티 인스턴스 앱을 만들기 위해서는 Multi-Instance App Project Templates.VSIX를 설치하고, 그 템플릿을 이용해서 앱을 만들어 주어야 합니다.


다운로드


물론 기존 앱에도 package.appxmanifest 파일을 수동으로 수정해서 만들 수 있을 것으로 생각됩니다.




3. 프로젝트 생성


프로젝트를 생성하는 화면에 2개의 템플릿이 추가됩니다. 


1) Multi-Instance Redirection UWP app

앱의 시작점에서 인스턴스 생성하거나, 기존 인스턴스 중에 하나를 선택해서 활성화 시키는 앱을 만듭니다.


2) Multi-Instance UWP app

일반적인 멀티 인스턴스 UWP 앱을 생성합니다.



4.  Package.appxmanifest


         xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2" 

...

<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="KakiViewer.App" desktop4:SupportsMultipleInstances="true" iot2:SupportsMultipleInstances="true">

...



package.appxmanifest 파일에서 굵은 글씨 부분이 새로 추가된 기능입니다. 또한, 위위의 내용처럼 이 멀티 인스턴스 앱은 데스크탑과 IoT에서만 가능하다는 것을 알 수 있습니다.



5. KakiViewer 프로젝트의 키 포인트!


이미지 뷰어를 만들어 보았습니다.


1) 프로젝트 버전 설정


Target version, Min version 모두 Windows 10, version 1803로 선택하셔야 합니다.


2) 확장자 연결


Package.appxmanifest의 Declarations 탭에서 File Type Associations를 추가해서 png 파일과 연결을 했습니다.


3) 파일 열기 프로그램으로 실행된 경우 처리


App.xaml.cs


        protected override void OnFileActivated(FileActivatedEventArgs args)
        {
            if (!(Window.Current.Content is Frame rootFrame))
            {
                rootFrame = new Frame();
                Window.Current.Content = rootFrame;
            }
            if (rootFrame.Content == null)
            {
                var parameter = string.Empty;
                if (args.Files.Any())
                    parameter = args.Files[0].Path;
                rootFrame.Navigate(typeof(MainPage), parameter);
            }
            Window.Current.Activate();
        }


파일 열기로 앱이 시작되면 OnFileActivated를 구현해야 합니다. 그리고, 전달 받은 파일의 정보는 오직 Path만 알 수 있내요... 그 이상의 정보를 알아내는 방법은 현재 상황에서는 모르겠습니다. 디버그를 통해서 직접 확인하세용


4) 이미지 파일을 열어서 표시하는 방법


            var firstFile = await StorageFile.GetFileFromPathAsync(filePath);
            if (firstFile == null) return;

            using (var stream = await firstFile.OpenReadAsync())
            {
                var bi = new BitmapImage();
                bi.SetSource(stream);
                Image.Source = bi;
            }


에..여기서 firstFile이 StorageFile형태이기는 한데..파일의 정보를 알 수는 없습니다.

아마 보안 사항이기 때문일지도..ㅡㅡ;;; 머징..


아니면, filePath 중 폴더 정보만 빼내서 폴더 정보를 먼저 가지고 오고 그 폴더에서 파일을 찾아서 가져오면 상세 정보도 알 수 있을 듯 합니다. 물론 이 경우 지난 포스트에서 다루었던 broadFileSystemAccess을 사용해야 합니다.


5) 디버그 하는 방법


프로젝트 속성 -> Debug -> Start action -> Do not launch, but debug my code when it starts를 체크하고 디버그로 실행 합니다.


파일 탐색기에서 png 파일을 마우스 오른쪽 버튼으로 눌러서 열기 할 프로그램을 선택하시면 디버그가 가능 합니다.



6. 소스

https://github.com/kaki104/UWP_17134


블로그 이미지

MVP kaki104

* Microsoft MVP - Windows Development 2014 ~ 2019 5ring * LINE : kaki104 * facebook : https://www.facebook.com/kaki104 https://www.facebook.com/groups/w10app/

티스토리 툴바