주위
- Ubuntu20.04
- CLion 2020.2.4
- 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 구성 및 시작
다음 명령을 사용하여 데이터베이스를 초기화하십시오. 두 매개 변수의 차이점 --initialize
은 root@localhost
사용자에 대해 임의의 암호 가 생성되고 사용자 암호 --initialize-insecure
가 root@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에서 시도해보세요.
-
Clion으로 코드 디렉토리 열기
-
CMake
매개 변수를 설정합니다 .File
메뉴 모음을 클릭Settings | Build, Execution, Deployment | CMake
하고CMake options
입력 상자에 위의cmake
명령을 실행할 때 매개 변수를 입력 합니다.
- 실행 / 디버그
MySQL
. 를 클릭하면Run
메뉴 표시 줄Edit Configurations
왼쪽에CMake Application
표시하는MySQL
등 각각의 프로그램mysqld
으로MySQL Server
,mysql
같은MySQL CLient
해당 될 수 있습니다Program arguments
구성 다양한 매개 변수.
여기에 아무것도 없어서 mysqld를 찾아서 실행을 시작했습니다.
참고
- https://juejin.im/post/6855129007692873736
- https://blog.csdn.net/weixin_38258767/article/details/103756366
- https://www.jianshu.com/p/fd9beb91ad66