MySQL5.7은 Clion을 사용하여 우분투에서 디버깅 환경을 구축합니다.

주위

  1. Ubuntu20.04
  2. CLion 2020.2.4
  3. MySQL5.7 소스 코드

코드를 다운로드하고 자신의 마술을 보여 주면 직접 git 클론이 느려질 것입니다.

기름 원숭이 스크립트사용하여 git 관련 정보없이 단일 버전을 직접 다운로드합니다.

설치 종속성

컴파일에 필요한 다양한 종속성을 포함하며 그중 일부는 이미 우분투 시스템에서 사용할 수 있습니다.

sudo apt install cmake make gcc g++ openssl libssl-dev libncurses5-dev bison

컴파일 및 빌드

먼저 셸에서 빌드하여 문제가 있는지 확인한 다음 문제가 없으면 Clion으로 이동해야합니다.

# 进入源码目录
cd mysql-server
# 创建构建文件的目录及数据目录 以及boost目录
mkdir -p /home/xfchen/mysql/build/ /home/xfchen/mysql/build/data /home/xfchen/mysql/boost
cmake -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=/home/xfchen/mysql/build \
-DMYSQL_DATADIR=/home/xfchen/mysql/build/data \
-DSYSCONFDIR=/home/xfchen/mysql/build \
-DMYSQL_UNIX_ADDR=/home/xfchen/mysql/build/data/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/home/xfchen/mysql/boost 

# 构建
make -j 8
# 安装MySQL
make install -j 8


CMake옵션 설명 : MySQL 5.7 참조 ​​설명서

make Werror=xxx오류 에서 유사한 프로세스가 발생 하면 다음 시나리오로 해결할 수 있습니다.

솔루션 : CMakeLists.txt파일에 추가add_definitions(-w)

SQL 구성 및 시작

다음 명령을 사용하여 데이터베이스를 초기화하십시오. 두 매개 변수의 차이점 --initializeroot@localhost사용자에 대해 임의의 암호 생성되고 사용자 암호 --initialize-insecureroot@localhost비어 있도록 설정 된다는 것입니다.

# 为了简单,搞成无密码的
bin/mysqld --initialize-insecure

암호화 된 연결을 만드는 데 필요한 파일 :

# 这一步是否必要未知,或许不需要
bin/mysql_ssl_rsa_setup

Mysql-server 시작

bin/mysqld 

시작 후 터미널을 닫지 말고 다른 터미널을 열어 클라이언트를 시작하십시오.

Mysql-client 시작

bin/mysql -uroot

그런 다음 일반적으로 테이블 등을 만들 수 있습니다.

MySQL 닫기

ps+ kill -9 <pid>명령을 사용 하거나 터미널을 직접 닫습니다.

clion을 사용하여 코드 디버그

위의 문제는 없습니다. Clion에서 시도해보세요.

  1. Clion으로 코드 디렉토리 열기

  2. CMake매개 변수를 설정합니다 . File메뉴 모음을 클릭 Settings | Build, Execution, Deployment | CMake하고 CMake options입력 상자에 위의 cmake명령을 실행할 때 매개 변수를 입력 합니다.

여기에 사진 설명 삽입

  1. 실행 / 디버그 MySQL. 를 클릭하면 Run메뉴 표시 줄 Edit Configurations왼쪽에 CMake Application표시하는 MySQL등 각각의 프로그램 mysqld으로 MySQL Server, mysql같은 MySQL CLient해당 될 수 있습니다 Program arguments구성 다양한 매개 변수.

여기에 아무것도 없어서 mysqld를 찾아서 실행을 시작했습니다.

여기에 사진 설명 삽입

참고

  1. https://juejin.im/post/6855129007692873736
  2. https://blog.csdn.net/weixin_38258767/article/details/103756366
  3. https://www.jianshu.com/p/fd9beb91ad66

추천

출처blog.csdn.net/Fei20140908/article/details/109773078