周囲
- Ubuntu20.04
- CLion 2020.2.4
- 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-insecure
がroot@localhost
空に設定されることです。
# 为了简单,搞成无密码的
bin/mysqld --initialize-insecure
暗号化された接続を作成するために必要なファイル:
# 这一步是否必要未知,或许不需要
bin/mysql_ssl_rsa_setup
Mysqlサーバーを起動します
bin/mysqld
起動後に端末を閉じないでください。別の端末を開いてクライアントを起動してください
Mysqlクライアントを起動します
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