Github에서 mysql 설치하기

WoongSoo Kim·2021년 4월 14일
1

ubuntu 환경에서 git clone을 이용해 mysql을 설치해보았다. (<mysql Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))> 기준)

(https://github.com/mysql/mysql-server : mysql 공식 사이트)

처음부터 많이 해매었지만 막상 되돌아보면 크게 어렵지 않았는데 엄청 오래 걸렸던 것 같다.

  1. git clone "링크"
    특별할 것 없었다. 다만 시간이 좀 오래 걸렸다.

  2. cmake
    순서대로 커맨드로 정리해볼까 한다. git clone을 한 시점을 기준으로

cd mysql_server
mkdir <dir_name>
cd <dir_name>
cmake .. –DDOWNLOAD_BOOST=1 –DWITH_BOOST=<path/for/boost>

을 입력한다.

간단히 말하자면, CMakelists.txt 를 통해 mysql을 compile해주는 것이라고 생각하면 된다. 이 때 예시로 저 폴더에 설치한 것이고, 꼭 저렇게 하지 않더라도 다른 방법도 있을 것이라고 생각된다.

<path/for/boost>에는 ./ 등을 입력해주면 된다.(./을 입력하면, 이 새로 만든 폴더에 mysql 설치 파일이 설치되게 된다.)
이 때 아무것도 설치하지 않고 실행해보면 에러가 수도 없이 뜨게 될 것이다. 당황하지 말고, 설치하라는 것에 맞게 sudo apt-get install 을 통해 모두 설치해주면 된다.
이 때 설치하기 전에 sudo apt update 커맨드를 통해 모두 업데이트를 시도한 후에 할 것을 권장한다.
맞는 패키지 명이 아닐 때에도, 구글에 검색해보면 대부분 1분도 안되는 시간 내에 찾을 수 있었다. 방법을 알게 되니 다음에 다시 할 때에는 금방 끝낼 수 있었다.

결과적으로는 make를 실행할 수 있게끔, Makefile이 만들어져있을 것이다.

  1. make (or "make -j <num_of_thread>")

현재 위치에서

make

or

make -j <num_of_thread>

를 실행한다면, 벌써 반을 넘게 온 것이다! 이 때 두 가지를 나눠서 저렇게 적은 이유는, 쓰레드 개수를 늘리냐 아니냐에 따라 어마무시한 속도 차이를 보이기 때문이다. 가능하면 자신의 컴퓨터에 부담이 가지 않을 수준의 최대한의 쓰레드 개수를 <num_of_thread>위치에 넣기를 권장한다. 단순히 make를 입력하게 된다면, 대부분의 컴퓨터에서는 몇 시간 단위의 시간이 허비될테니.

여기까지 왔다면, 여기까지 포기하지 않은 자기 자신을 한 번 칭찬해주자. 얼마 남지 않았다.

  1. mysql 설정

groupadd mysql
useradd -g mysql mysql
cd bin
mysqld --initialize --user=mysql

mysql에 mysql database를 추가해주고, 서버를 mysql로 초기화해주는 작업이다. 이 때 initialize하는 과정에서 임시 비밀번호가 제공된다고 하는데 필자는 아무것도 제공받지 않아 당황스러웠다. 순수 ubuntu가 아닌, microsoft store에서 제공하는 ubuntu를 사용해서 그런지, 20.04버전의 오류인 것인지는 잘 모르겠다.
이 비밀번호 설정이 없는게 나는 굉장히 거슬렸고, 따라서 이 때부터 지금까지 설치하는 과정보다 더 오랜 시간을 허비하고 나서야 해결할 수 있었다... 방법은 간단했다.

참고 : https://to-dy.tistory.com/58

이 사이트를 많이 보고 배웠다. 내가 했던 오류들을 전부 이 사람도 같이 겪었고, 그래서 더 내용 이해가 빨랐다.

mysql에 접속 후

ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할비밀번호';
flush privileges;

를 치자. 그럼 끝이다.

update user set password=password('변경할비밀번호') where user='root'; 나 이와 비슷한 커맨드들이 구글에 잔뜩 나와있지만, 항상 에러가 뜬 이유, password table이 없다, 또 뭐다 하면서 여러 에러들이 발생하였던 이유에 대한 설명까지 자세히 설명이 되어있다.

가능하다면 이런 과정을 거쳐서 설치하는 사람은 없기를 바란다. ubuntu의 sudo apt-get install mysql-server, 혹은 mac의 homebrew와 같은 패키지 인스톨러를 사용하는 것이 100만배는 쾌적하다.

윈도우도 공식 홈페이지에서 설치하는 것을 추천한다.
https://dev.mysql.com/downloads/
공식 홈페이지에서 간단히 설치할 수 있다.

참고 사이트 2 : https://m.blog.naver.com/PostView.nhn?blogId=ksw810803&logNo=44136347&proxyReferer=https:%2F%2Fwww.google.com%2F

참고 사이트 3 : https://www.lesstif.com/dbms/mysql-error-1698-28000-89555999.html

cmake 할 때에 library 설치에 어려움을 겪고 계신 분께 좋은 사이트

2번 과정에서 설치한 패키지의 종류

sudo apt install cmake
sudo apt install g++
sudo apt install libssl-dev openssl
sudo apt install libncurses5-dev
sudo apt install pkg-config
sudo apt install bison

이 때, 모든 패키지를 삭제했음에도 에러가 뜨는 경우가 있다.
CMake Error at sql/CMakeList.txt ..... 와 같은 에러가 뜨는데
rm -rf CMakeCache.txt

위에서 나온 캐시 파일을 삭제해주면 다시 정상적으로 설치가 잘 된다.

  • 추가
    만약 wsl을 통해 ubuntu를 사용하고 있고, 설치를 했음에도 error 2002 등 접속 불가 에러, 혹은 어떤 파일 접근 불가 에러가 뜬다면 ubuntu가 아닌 자신의 원래 컴퓨터의 포트가 현재 사용중인 상황인지 아닌지 찾아보자... 필자의 경우 wsl-ubuntu 를 이용하는 windows 컴퓨터에 mysql을 설치했다가 이 에러가 떠서 꼬박 하루를 날려먹었다...
profile
변하고자 할 때는

0개의 댓글