과거에는 MYSQL 설치 시 root 계정의 비밀번호가 세팅되어 있지 않아 비밀번호를 물을 때 Enter를 누르면 접속이 가능했습니다. 언젠가부터 보안 강화를 이유로 MYSQL이 설치되면 임시비밀번호가 자동 설정되는 방식으로 바뀌었다고 합니다. 이 부분은 정확한 사실을 확인하진 못했지만, 직접 해봤을 때 임시비밀번호를 확인하고 접속하는 방법은 유효했습니다. 그 방법을 알려드리겠습니다. MYSQL 5.7 초기 비밀번호 확인 mysql root 계정 임시비밀번호 확인은 awk 명령어를 사용합니다. [root@localhost lib]# awk '/temporary password/{print $11}' /var/log/mysqld.log m#-S=adlw6u: wTLerZlO*4ur 이 경우 wTLerZlO..
CentOS 7에 설치한 mysql를 완전히 삭제하기 위해선 설치된 패키지 삭제와 데이터 삭제를 하면 됩니다. MYSQL 5.7 버전 삭제를 예로 들어 설명하겠습니다. mysql 설치 확인 [root@localhost mysql]# yum list installed | grep mysql mysql-community-client.x86_64 5.7.38-1.el7 @mysql57-community mysql-community-common.x86_64 5.7.38-1.el7 @mysql57-community mysql-community-libs.x86_64 5.7.38-1.el7 @mysql57-community mysql-community-libs-compat.x86_64 5.7.38-1.el7 @mys..
리눅스에서 패키지 설치는 rpm 또는 yum 명령어를 이용합니다. 두 명령어는 최종적으로 원하는 패키지 프로그램을 설치한다는 점에서 같지만 작동 방식에 차이가 있습니다. RPM(Redhat Package Manager) rpm은 인터넷에 연결되지 않은 상태에서도 패키지를 설치할 수 있는 명령어입니다. 다만 설치하려는 .rpm 패키지 파일이 컴퓨터에 있어야 합니다. 패키지는 서로 의존성을 갖습니다. 예를 들어 C 패키지를 설치하기 위해선 B 패키지가 필요하고 B 패키지를 설치하기 위해서는 A 패키지가 필요한 식입니다. 이런 경우 설치 순서는 A > B > C 순으로 해야 합니다. rpm은 개별 패키지를 수동으로 설치하는 개념이기 때문에 이런 의존성을 사용자가 직접 고려하면서 설치해야 하는 불편함이 있습니다..
리눅스 컴퓨터에 있는 파일을 윈도우에 옮길 때 파일질라 등의 FTP 툴 없이도 윈도우의 cmd를 이용해서 파일을 옮길 수 있습니다. cmd sftp를 이용하기 위해서는 파일을 가져올 컴퓨터의 IP 주소와 계정 아이디, 비밀번호가 필요합니다. cmd sftp로 파일 옮기기 1. cmd 실행 cmd를 실행합니다. 관리자 권한이 아니어도 괜찮습니다. 2. 파일 가져올 컴퓨터에 연결 sftp [계정명]@[IP주소] Ex) sftp root@111.111.1.11 Are you sure you want to continue connecting (yes/no/[fingerprint])? yes sftp> 3. 원하는 경로 이동 후 파일 다운로드 sftp 연결이 완료됐으면 원하는 파일이 있는 경로로 접근해서 get ..
DB는 한번 설치하고 나면 여러 파일이 생성되기 때문에 재설치를 위해서는 이전 버전을 깔끔하게 삭제하는 작업이 필요합니다. 그 방법에 대해 root 권한으로 삭제를 진행한다고 전제하고 sudo 명령어를 제외하고 설명드리겠습니다. postgresql의 서비스를 종료합니다. postgresql-버전.service 부분은 버전에 맞게 작성합니다. # systemctl stop postgresql-12.service enable로 설정한 서비스 상태가 있는지 확인합니다. # systemctl list-unit-files postgresql* 서비스를 비활성화합니다. # systemctl disable postgresql-12.service postgresql을 설치하며 생성된 디렉터리를 통째로 삭제합니다. 기본..
sudo 명령어를 통해 root가 아닌 다른 계정도 루트의 권한을 빌려서 프로세스를 수행할 수 있습니다. 예를 들어, 아래 예시와 같이 방화벽을 열어주는 명령 등은 root의 권한이 필요합니다. $ sudo firewall-cmd --permanent --zone=public --add-port=9080/tcp 계정이 sudo 명령어를 사용하기 위해선 sudoers 파일 명단에 해당 계정이 포함돼야 합니다. root 계정으로 접속하고, etc 경로로 접근합니다. # cd /etc/ vi 명령어로 해당 경로에 있는 sudoers 파일을 편집합니다. 만약 편집이 안되면 권한이 없는 것이니 chmod +w sudoers 명령어로 권한을 부여합니다. # vi sudoers sudoers 파일에서 root 밑에 ..
마리아DB의 데이터가 저장되는 기본 경로는 /var/lib/mysql입니다. 그런데 /var ~ 경로의 용량이 충분하지 않다면 지속적인 운영에 어려움을 겪을 수 있습니다. 이럴 때 데이터가 저장되는 Datadir을 용량이 넉넉한 다른 경로로 옮겨주는 방법을 사용할 수 있습니다. MariaDB 데이터 폴더의 경로를 확인합니다. 기본 경로는 /var/lib/mysql입니다. MariaDB(none)> select @@datadir 데이터 폴더를 이동하기 위해 마리아db 서비스를 중지합니다. $ systemctl stop mariadb 이동할 경로에 폴더를 생성합니다. /home/mysql 경로에 폴더를 생성한다고 가정하겠습니다. $ cd /home/mysql $ mkdir newDatadir rsync 명령..
통상 마리아DB의 기본 캐릭터 셋(Character set)은 latin1입니다. 그러나 latin1은 긴 문자열을 처리하지 못하는 등 제약이 있어 보통 utf8이 많이 사용됩니다. 이런 이유로 마리아db를 설치한 뒤엔 기본 캐릭터 셋을 utf8로 설정하는 과정을 거치게 됩니다. 마리아db의 기본 캐릭터 셋을 확인합니다. MariaDB[none]> show variables like 'c%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | ..
리눅스는 소유자, 소유그룹, 권한을 기준 삼아 계정별로 디렉토리 또는 파일의 접근을 제어합니다. 리눅스 최상단에 있는 계정은 root입니다. 사용자는 root 말고도 다른 계정을 추가해서 사용할 수 있습니다. 이 글에선 test라는 계정을 만들었다고 가정하고 설명드리겠습니다. ll 명령어를 사용하면 해당 디렉토리에 있는 디렉토리 및 파일의 소유자, 소유그룹, 권한을 모두 확인할 수 있습니다. $ ll drwxrwxr-x 2 root root 4096 Jan 16 20:28 root_directory -rw-rw-r-- 1 test test 1024 Feb 15 17:34 test_file 맨 앞은 디렉토리인지 파일인지를 구분하는 표시입니다. d는 root_directory가 디렉토리 임을, -는 test..
리눅스는 커맨드 라인에서 명령어로 프로세스를 실행합니다. 이때 프로세스 실행 방법은 백그라운드(Background) 실행과 포그라운드(foreground) 실행 방법이 있습니다. 이 개념을 모르면 포그라운드 실행을 하고 명령어를 추가 입력해 프로세스가 종료되는 실수를 할 수 있습니다. 포그라운드 실행 포그라운드 실행은 하나의 작업을 실행하면 그 작업이 끝날 때까지 기다리고 다시 또 다른 작업을 실행하는 방식입니다. 간단하게 압축을 푸는 명령어인 tar -zxvf도 포그라운드 실행이라 할 수 있습니다. 압축이 모두 풀릴 때까지 사용자는 다른 작업을 수행할 수 없고 기다려야 합니다. 백그라운드 실행 백그라운드 실행은 프로세스를 실행시킴과 동시에 다른 작업을 병행할 수 있는 방식입니다. 예를 들어 몽고DB 서..