MySQL5.7はClionを使用してubuntuの下でデバッグ環境を構築します

周囲

  1. Ubuntu20.04
  2. CLion 2020.2.4
  3. MySQL5.7ソースコード

コードをダウンロードして独自の魔法を見せてください。直接のgitクローンは遅くなります

このオイルモンキースクリプトを使用して、git関連情報なしで単一バージョンを直接ダウンロードします。

インストールの依存関係

コンパイルに必要なさまざまな依存関係が含まれていますが、そのうちのいくつかはubuntuシステムですでに利用可能です

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オプションの説明:MySQL5.7リファレンスマニュアル

makeWerror=xxxエラーで同様のプロセスが発生した場合は、次のシナリオで解決できます。

解決策CMakeLists.txtファイルに追加ますadd_definitions(-w)

SQLを構成して開始します

次のコマンドを使用して、データベースを初期化します。2つのパラメーターの違いは、ユーザー--initializeに対してroot@localhostランダムなパスワード生成さユーザーのパスワード--initialize-insecureroot@localhost空に設定されることです。

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

暗号化された接続を作成するために必要なファイル:

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

Mysqlサーバーを起動します

bin/mysqld 

起動後に端末を閉じないでください。別の端末を開いてクライアントを起動してください

Mysqlクライアントを起動します

bin/mysql -uroot

そうすれば、通常どおりテーブルなどを作成できます。

mysqlを閉じます

ps+kill -9 <pid>コマンドを使用するか、ターミナルを直接閉じます

clionを使用してコードをデバッグする

上記は問題ありません、Clionで試すことができます

  1. Clionでコードディレクトリを開きます

  2. CMakeパラメータを設定します。Fileメニューバーをクリックし、上記のコマンドを実行するときSettings | Build, Execution, Deployment | CMakeCMake options入力ボックスにcmakeパラメータを入力します

ここに画像の説明を挿入

  1. 実行/デバッグMySQLクリックしてRun、メニューバーのEdit Configurations左側にCMake Application示したMySQLように、それぞれのプログラム、mysqldなどMySQL Servermysqlなど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