반응형
728x90
반응형

Maria db를 사용하면서 DB를 저장한다거나, 복구 하는 방법에 대한 기록이다.

간혹 서버를 사용하다가 서버를 밀어야하는 상황이거나 다른 곳으로 옮겨야할 때, 사용한 DB의 규모가 소규모이지만 다시 하나 하나 database와 table 생성 및 데이터들을 insert하기에는 애매한 규모일 때, 나는 이 방법을 즐겨 쓴다.

 

mysqldump -u계정 -p비밀번호 --all-databases > /sql/형태로/저장될/경로/파일이름.sql

위와 같은 형태로 생성이 된다. ( sql )

일괄적으로 실행할 수 있는 쿼리 형태가 저장되어 있다.

그리고나서 생성된 .sql 쿼리 모음 back up 파일을 이용하여 다시 DB를 복원할 때는 다음과 같다.

mysql -u root -p DB이름< /경로/쿼리백업파일.sql

DB를 선택해서 복원한다. 즉, 원하는 DB는 따로 생성을 해야한다는 소리이다.

 

728x90
반응형
728x90
반응형

oracle 사의 sql developer 툴은 매우 사용하기 편리하다. 익숙해서 그런가? 

아무튼 윈도우에서 즐겨 사용하곤 했는데, 우분투에서는 혹시 사용할 수 있으려나? 하고 검색해본 결과, 가능하다!!
그래서 나중에 또 기록용으로 이번 포스팅을 작성한다.

다운로드 파일 준비

먼저, JDK의 다운로드이다.

https://www.oracle.com/java/technologies/javase-downloads.html

 

우분투에서 설치할 것이니, Linux x64 Debian Package 를 다운로드 하면 된다.

다음으로는 Oracle Sql Developer의 다운로드이다.

https://www.oracle.com/tools/downloads/sqldev-downloads.html

20.2 버전으로 꼭 Other Platforms 로 다운로드 한다.

다음으로는 Msql Connector JDBC 드라이버이다. Oracle 용 sql developer 이니 다른 DB도 사용할 수 있도록 만들어준다.

https://dev.mysql.com/downloads/connector/j/

 

MySQL :: Download Connector/J

MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL Connector/J 8.0.

dev.mysql.com

platform independent 로 꼭 다운로드 해야한다.

 

모두 준비된 모습이다.

JDK 11 설치

sql developer 는 자바 기반으로 jvm 위에서 돌아가기 때문에 필히, jvm 을 설치해야한다. 그러기 위해선 jdk를 설치하면 되겠다.

sudo dpkg -i jdk-11.0.9_linux-x64_bin.deb

설치가 완료되면 다음 디렉토리를 탐색하여 존재하는지 확인한다.

설치 끝

 

SQL Developer 설치

설치랄 것도 없이 그냥 압축을 풀고 경로에 넣으면 끝이다.

sudo unzip ./sqldeveloper-20.2.0.175.1842-no-jre.zip

압축 해제가 끝났다면 /opt 경로에 넣어준다. 안 넣어줘도 상관없지만 3rd party app의 경우 이곳에 넣어주고, 탐색할 때도 용이하다.

sudo mv ./sqldeveloper /opt/

 

해당 경로에 접근하여 sqldeveloper.sh 파일을 실행하는데 위와 같은 입력이 나온다면 ctrl+c 를 눌러 중단한 뒤, 위 사진 중 가장 오른 쪽에 있는 빨강 박스 속 경로를 vim 이나 각종 에디터로 열고, jdk 의 설치 경로를 입력한다.

jdk는 따로 설정되지 않는 이상 /usr/lib/jvm 내에 설치된다. 직접 경로를 접근하여 jdk 경로를 확인해 본 뒤 복사 후, 아래 처럼 vim 등으로 빨강 박스 내의 경로를 연다.

그리고 나서 SetJavaHome 주석 쳐져 있는 곳 아래에 그림과 같이 경로를 적어 넣고 저장한다!

저장 후 실행하면 아래와 같이 완성!

그러나 아직까지는 oracle db에만 접근이 가능하다. 아까 다운로드 받은 MYSQL JDBC 드라이버 추가를 통해 mysql, maria db 등을 사용할 수 있다. 아까 받은 mysql-connector-java-8.0.22.tar.gz 압축을 푼다.

압축을 풀고 천천히 살펴본다면, mysql~~~.jar 파일이 존재한다. 이를 sql developer 상에서 드라이버 추가해주면 되는 것이다!

작성자는 개인적으로 두고두고 실행할 것이니 sql developer 앱이 존재하는 경로에 옮겨 저장을 했다.

sql developer 에서 도구 탭 -> 환경 설정 -> 데이터베이스 -> 타사 JDBC 드라이버를 누른 후 항목 추가로 아까 그 ~.jar 파일을 추가하면 된다.

짠~! mysql 을 선택한 후, maria db 혹은 mysql db에 접근하면 되는 것이다!

위와 같이 우분투 메뉴나 런처에 아이콘을 추가하고 싶은 경우, 아래의 경로로 접속하여 실행해보자

https://typingdog.tistory.com/91?category=933956

 

우분투 20.04에서 JetBrains 프로그램 설치 및 런처에 아이콘 추가.

제트 브레인 사의 프로그램 ( Clion, Intellij, Pycharm 등) 을 우분투에서 다운로드 하여 압축을 풀어보면, 바로 실행할 수 있는 스크립트를 제공하기 때문에 런처에 실행 아이콘이 자동으로 제공되지

typingdog.tistory.com

 

728x90
반응형

'리눅스:Ubuntu > Database 관련' 카테고리의 다른 글

maria db 백업 및 복구 방법  (0) 2021.01.08
우분투 20.04에서 Maria db 설치  (0) 2020.09.29
728x90
반응형

오늘은 오랜만에 기록이다.

요즘 프리 바람의나라 서버를 개발하고 있는 탓에 DB가 필요하다. 웹에서는 DB가 거의 기본이다 싶었지만, 예전에 DB 개념이 거의 전무하다 싶을 때에는 파일 입/출력을 통해서 유저, 아이템 데이터 등을 관리했다. 

그 결과, 텍스트화 되어 있는 게임 데이터를 모두 메모리에 올려다 놓고 거기에 항목에 대한 엑세스까지 행해야하므로 메모리는 메모리 대로 씨피유는 씨피유 대로 박살났던 기억이 있다... ㅠㅠ

아무튼 웹 개발 일을 하면서, 아! 이래서 DB를 썼어야했구나! 아주 절실하게 느끼곤 하는데, 바로 그 DB를 설치해볼 것이다.

그것도 우분투 20.04에서 Maria DB 를 설치해보았다.
우분투 22.04에서 Maria DB를 다시 설치해 보았고, 대체로 동작하지만 몇몇 부분은 누락되는 부분들을 수정했다.

 

1. 간단하게 바로 설치

sudo apt install mariadb-server

매우 간단하다.

 

2. 설정

설정이 좀 중요하다.

sudo mysql_secure_installation

위의 명령어를 작성하면 여러 설정을 위한 질문들이 나온다

Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

읽어보면 바로 알 수 있는 내용들이다. 굵은 글씨는 내가 설정한 내용들이다.

22.04 ) 윗 부분에 없는 질문들은 모두 Default 값으로 엔터만 눌러 넘어가도 문제 없다.

maria db 설정에 성공한 모습이다

3. Character Set 설정

문자 설정 매우 중요하다. 한글이 파괴되면 얼마나 슬프단 말인가. 영어만 입력을 해야하니.. 다음과 같이 하면 된다.

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

위 명령어를 쳐서 general -> unicode로 변경한다. 혹시 모르니까 기존 줄(106)은 주석을 쳐뒀다.

4. Port 변경

remote 가 붙는 경우가 대부분이므로, 포트 설정을 중요하다. 로컬이어도 포트는 사용되니 중요하다.

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

마찬가지로 위 명령어를 통해 port 항목의 값을 원하는 포트 번호로 수정한다.

설정 파일 구조가 조금 바뀌었지만 자신 있게 변경하면 문제없다.

5. 외부 접속 허용 설정

remote 가 아닌 local 에서 다음과 같이 실행한다.

sudo mysql -u root  # sudo 계정으로 접속

이 아래 부터는 maria db 명령을 치는 곳에다가 쳐야한다.(위 명령을 통해 접속했으므로)

----------------------------------------------------------------------------------------------------------------------------------------------------------------
설치 당시(2023-05-09) Maria DB 10.6.12 버전에서는 mysql_native_password 가 기본으로 설정 되어 있는 것 같다.... 그래서 점선 사이 부분은 사실 상 커맨드 치지 않아도 된다.
----------------------------------------------------------------------------------------------------------------------------------------------------------------

use mysql; 
SELECT User, Host, plugin FROM mysql.user; 
update user set plugin='mysql_native_password' where user='root';
flush privileges; 
select user, host, plugin from user; 

위 명령들을 치면 A 사진이 B 사진 처럼 바뀌어야한다. ( Plugin 부분 )

A사진
B사진

----------------------------------------------------------------------------------------------------------------------------------------------------------------

그리고! 다음 명령어로 유저 별로 외부 접속을 허용시켜주자! 

GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%' IDENTIFIED BY '패스워드';   
FLUSH PRIVILEGES; 

갑자기 뜬금 없이 아이디가 shyoo 가 나와서 헤깔렸을 수 있는데.. 새로운 아이디 생성은 다음과 같이 CREATE USER 갈겨주면 해결된다.
CREATE USER 'USERID'; // 지정한 이름으로 아이디 생성
CREATE USER 'USERID'@'%' identified by 'PASSWORD';
// 지정한 이름으로 아이디 생성 및 외부 접근 허용(%), 비밀번호 설정까지 함께 진행한다.
FLUSH PRIVILEGES; 

그러니까 기존에 아이디가 존재했다면 GRANT 명령을, 아이디를 새로 생성하는 경우에는 CREATE USER 명령을 갈기면 된다.

6. 서버 허용 아이피 변경

접속을 시도했는데 이런 오류가 뜬다면 문제가 있는 것이다.

그럴 때에는 다음과 같이 한다.

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

위 명령을 작성 후 그림과 같이 한다.

 

7. 서비스 재시작

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
--------------------------------------------------------------------
Maria DB 10.06.12 버전에서는 명령 스크립트 이름이 mariadb로 변경됐다.
sudo /etc/init.d/mariadb stop
sudo /etc/init.d/mariadb start

위 명령어를 통해 종료와 시작이 잘 이루어지는지 확인을 한다.

성공한 모습이다.

8. 확인

 

728x90
반응형

+ Recent posts