테이블 복사 및 데이터 복사하기

리눅스/MySQL|2018. 5. 2. 09:02
반응형

* 테이블을 생성하면서 데이터도 같이 복사

select * into [새로운 테이블명] From [기존 테이블명]


 

* 구조만 복사

select * into [새로운 테이블명] From [기존 테이블명] Where 1=2

 


* 테이블에 있는 데이터만 복사

inser into [복사될 테이블명] Select * From [기존 테이블명]


 

* 특정 데이터만 복사 

inser into [복사될 테이블명] Select * From [기존 테이블명]  Where 조건



출처: http://blog.okno.co.kr/419 [JavaRa~!!]

반응형

댓글()

테이블 엔진 변경하기

리눅스/MySQL|2018. 5. 1. 18:56
반응형

InnoDB로 변경

ALTER TABLE `테이블명` ENGINE = INNODB


MyISAM으로 변경

ALTER TABLE `테이블명` ENGINE = MYISAM

반응형

댓글()

innodb 데이터 깨졌을 경우 복구 방법 (Table [테이블명] doesn't exist in engine)

리눅스/MySQL|2018. 4. 30. 17:49
반응형

[증상]


ERROR 1932 (42S02): Table [테이블명] doesn't exist in engine



[해결]


1) 전제

  - 해당 테이블의 엔진은 InnoDB 이며 ibd, frm 파일이 존재함.

  - 테이블의 스키마 구조를 알아야 함.


2) 실행

- 서비스 종료 후 ibd 파일, frm 파일 백업

- 서비스 시작 후 해당 테이블 drop

- 테이블 재생성

- 테이블스페이스 변경


mysql> ALTER TABLE [테이블명] DISCARD TABLESPACE ;

system cp /백업경로/[테이블명].ibd [데이터베이스 데이터 디렉토리]

mysql> ALTER TABLE [테이블명] IMPORT TABLESPACE ;



출처: http://adbancedteam.tistory.com/194 [aDBanced Team]

반응형

댓글()

ceilometer (몽고디비) 관련 에러시 점검사항들

리눅스/OpenStack|2018. 4. 23. 09:26
반응형

76 (마스터), 77 (슬레이브) 일때


1. 16번 서버에서 netstat -nltp 로 mongodb 데몬이 올라와 있는지 확인


2. /var/www/html/monitor.html 파일이 있는지 확인

아래 명령으로 생성이 가능하다

# crm_mon --daemonize --as-html /var/www/html/monitor.html

(/etc/rc.local 에도 등록이 되어있다)


3. crm status 나 http://15.31.245.1/monitor.html 과 같은 모니터링 페이지에서

    에러난 데몬이 있는지 보고 cleanup 해주면 된다.


4. 컨트롤러 서버에서

# service ceilometer-api restart


5. 몽고디비 서버에서

# service ceilometer-agent-central restart

# service ceilometer-agent-notification restart

# service ceilometer-collector restart


ceilometer sample-list 로 최근 내용까지 갱신 되는데 시간이 좀 걸린다.



반응형

댓글()

Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

리눅스/OS 일반|2018. 4. 19. 16:25
반응형

가끔 $sudo apt-get update를 할 때

아래 메시지가 발생할 때가 있다. (우분투 14.04기준)


Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)


간단하다.


$sudo rm /var/lib/apt/lists/* -vf

$sudo apt-get update




출처: http://kkn1220.tistory.com/123

반응형

댓글()

windows 패스워드 초기화

리눅스/OpenStack|2018. 4. 18. 08:41
반응형

임의의 값으로 초기화 할수는 없으며 최초 발급받는 패스워드로 돌리는 방법입니다.

VM 은 종료된 상태에서 작업을 진행해야 합니다.


VM 이 위치하는 컴퓨트 노드를 확인합니다.


# nova show 10d73e42-3973-4a82-8277-8445944309d7 |grep hyper

| OS-EXT-SRV-ATTR:hypervisor_hostname  | hl-85-112 


hl-85-112 컴퓨트 노드에 들어가 필요한 패키지를 설치합니다.


# apt install libguestfs-tools


VM 인스턴스 디렉토리로 이동합니다.


# cd /var/lib/nova/instances/10d73e42-3973-4a82-8277-8445944309d7


# virt-win-reg disk 'HKEY_LOCAL_MACHINE\SOFTWARE\Cloudbase Solutions\Cloudbase-Init'

[HKEY_LOCAL_MACHINE\SOFTWARE\Cloudbase Solutions\Cloudbase-Init]


[HKEY_LOCAL_MACHINE\SOFTWARE\Cloudbase Solutions\Cloudbase-Init\10d73e42-3973-4a82-8277-8445944309d7]


[HKEY_LOCAL_MACHINE\SOFTWARE\Cloudbase Solutions\Cloudbase-Init\10d73e42-3973-4a82-8277-8445944309d7\Plugins]

"ConfigWinRMCertificateAuthPlugin"=dword:00000001

"ConfigWinRMListenerPlugin"=dword:00000001

"CreateUserPlugin"=dword:00000001

"ExtendVolumesPlugin"=dword:00000002

"LocalScriptsPlugin"=dword:00000001

"NetworkConfigPlugin"=dword:00000001

"SetHostNamePlugin"=dword:00000001

"SetUserPasswordPlugin"=dword:00000001

"SetUserSSHPublicKeysPlugin"=dword:00000001

"UserDataPlugin"=dword:00000001

"WindowsLicensingPlugin"=dword:00000001


위에서 출력된 두번째 라인을 아래 파일에 넣습니다.

# vi test.reg

[-HKEY_LOCAL_MACHINE\SOFTWARE\Cloudbase Solutions\Cloudbase-Init\10d73e42-3973-4a82-8277-8445944309d7] 

[-{paht\인스턴스 uuid}] 형식으로 작성


# virt-win-reg --merge disk test.reg

# virt-win-reg disk 'HKEY_LOCAL_MACHINE\SOFTWARE\Cloudbase Solutions\Cloudbase-Init'

[HKEY_LOCAL_MACHINE\SOFTWARE\Cloudbase Solutions\Cloudbase-Init]

// 다시 확인했을때 레지스트리 값이 삭제된것이 확인되었습니다.

이제 VM 을 부팅하면 처음 발급받은 패스워드로 로그인이 가능합니다.
(급하게 로그인하지 말고 1분정도 기다리면 변경된것이 확인됩니다)

끝.



반응형

댓글()

EditText 에 focus 주고 (커서 이동) 소프트 키보드 자동 띄우기

프로그래밍/Android (Java)|2018. 4. 11. 17:44
반응형

1. EditText 에 포커스 주기


SearchInput = (RelativeLayout) findViewById(R.id.SearchInput);

SearchInput.setVisibility(View.VISIBLE);

SearchInput.requestFocus();




2. 현재 포커스 위치한곳에 소프트 키보드 띄우기


1) 키보드 사용 표시


InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);



2) 키보드 사용을 숨기기


InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(view.getWindowToken(),0); 



반응형

댓글()

Layout 에 관한 모든것

프로그래밍/Android (Java)|2018. 4. 10. 16:09
반응형

LinearLayout (순서대로 정렬)

https://recipes4dev.tistory.com/89



RelativeLayout (상대적 위치 잡기)

http://recipes4dev.tistory.com/126



FrameLayout (레이아웃 겹치기 / 아래 있는 View 가 앞으로 나옴)

https://recipes4dev.tistory.com/127




반응형

댓글()

EditText 입력 후 Button 누르면 Toast 로 출력시키는 예제

프로그래밍/Android (Java)|2018. 4. 10. 08:31
반응형

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content" >


        <EditText

            android:id="@+id/editText1"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:layout_alignParentTop="true"

            android:layout_marginTop="32dp"

            android:hint="Enter your text"

            android:ems="10" >

            <requestFocus />

        </EditText>


<Button

            android:id="@+id/button1"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignLeft="@+id/editText1"

            android:layout_alignRight="@+id/editText1"

            android:layout_below="@+id/editText1"

            android:text="Display" /> 


</LinearLayout> 




MainActivity.java


package com.example.anonymous.studioedittext;


import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;


public class MainActivity extends AppCompatActivity {


    EditText userInput;

    Button displayInput;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        userInput = (EditText) findViewById(R.id.editText1);

        displayInput = (Button) findViewById(R.id.button1);


        displayInput.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                Toast.makeText(getApplicationContext(), userInput.getText(), Toast.LENGTH_SHORT).show();

            }

        });

    }




[출처] http://www.androidcodec.com/android-studio-edittext-example/



반응형

댓글()

EditText 입력값 다른 Activity 에서 출력하기

반응형

다른곳도 수정해야 하지만 파란색도 빠트리지 말고 수정해줍니다.


Code for MainActivity.java file.

package com.passedittextvalue_android_examples.com;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

 EditText SendValue;
 Button SendEditTextValue;
 Intent intent;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 
 SendEditTextValue = (Button)findViewById(R.id.button1);
 SendValue = (EditText)findViewById(R.id.editText1);
 
 SendEditTextValue.setOnClickListener(new View.OnClickListener() {
 
 @Override
 public void onClick(View v) {
 
 intent = new Intent(getApplicationContext(),SecondActivity.class);
 intent.putExtra("EdiTtEXTvALUE", SendValue.getText().toString());
 startActivity(intent);
 
 }
 });
 }
}

Code for activity_main.xml layout file.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.passedittextvalue_android_examples.com.MainActivity" >

 <EditText
 android:id="@+id/editText1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_centerHorizontal="true"
 android:layout_centerVertical="true"
 android:ems="10" >
 </EditText>

 <Button
 android:id="@+id/button1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_below="@+id/editText1"
 android:layout_centerHorizontal="true"
 android:layout_marginTop="26dp"
 android:text="Click Here to Pass edittext value to another activity in android" />

 <TextView
 android:id="@+id/textView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentTop="true"
 android:layout_centerHorizontal="true"
 android:text="Main Activity"
 android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

 

Code for SecondActivity.java file.

package com.passedittextvalue_android_examples.com;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class SecondActivity extends Activity {

 TextView receive;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_second);
 
 receive = (TextView)findViewById(R.id.textView1);
 
 receive.setText(getIntent().getStringExtra("EdiTtEXTvALUE"));
 
 }
}

Code for activity_second.xml layout file.

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.passedittextvalue_android_examples.com.SecondActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="22dp" android:text="Second Activity" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout>

Screenshot:

Pass EditText value to another activity in android



Click Here to download Pass EditText value to another activity in android project.


[출처] https://www.android-examples.com/pass-edittext-value-to-another-activity-in-android/


반응형

댓글()

우분투에서 부팅시 데몬 자동 실행

리눅스/OS 일반|2018. 4. 6. 16:48
반응형

서비스 자동 시작 등록

# update-rc.d 서비스명 defaults


자동 시작 제거

# sudo update-rc.d 서비스명 remove


현재의 Run Level 체크

# runlevel


자동 시작 프로그램을 등록 또는 해제했다면 해당 런레벨 디렉토리에서 확인이 가능합니다.

예) ls -al /etc/rc5.d/*





반응형

댓글()