GDBデバッグMySQL実戦ソースコードコンパイルとインストール

GDBデバッグMySQL実戦ソースコードコンパイルとインストール

ソースコードをダウンロード

git クローン https://github.com/mysql/mysql-server.git
cd mysql-server
git チェックアウト 5.7

コンパイルしてインストールする

依存関係をインストールする

yum install -y cmake make gcc gcc-c++ ncurses-devel bison gdb

注意すべき点の 1 つは、cmake の実行時に自動的にダウンロードされる boost パスを指定する必要があることです。

cd ビルド; 
cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<ディレクトリ> -DWITH_DEBUG=1 -DWITH_UNIT_TESTS=off
作る 
インストールする

最後に、プログラムは/usr/local/mysqlディレクトリにインストールされます。

専用ユーザーを作成する

グループ追加mysql
ユーザー追加 -s /sbin/nologin -M -g mysql mysql

データベースを初期化する

/usr/local/mysql/ に移動します
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
2019-02-01T07:45:58.147032Z 1 [注] root@localhostの一時パスワードが生成されます: jss<swtX.8og

データベースへの接続

[root@bogon bin]# ./mysql -h localhost -uroot
エラー 2002 (HY000): ソケット '/tmp/mysql.sock' 経由でローカル MySQL サーバーに接続できません (2)

クライアント ソケット ファイルが構成ファイルに固定されていないことが判明しました。

/etc/my.cnf を編集する
[mysqld]
データディレクトリ=/var/lib/mysql
ソケット=/var/lib/mysql/mysql.sock
# さまざまなセキュリティリスクを防ぐために、シンボリックリンクを無効にすることをお勧めします
シンボリックリンク=0
# systemd を使用する場合、ユーザーとグループの設定は無視されます。
# 別のユーザーまたはグループでmysqldを実行する必要がある場合は、
# mariadbのsystemdユニットファイルを以下のとおりカスタマイズします。
# http://fedoraproject.org/wiki/Systemd の手順
[mysqld_safe]
ログエラー=/var/log/mariadb/mariadb.log
pidファイル=/var/run/mariadb/mariadb.pid
#
# configディレクトリからすべてのファイルをインクルードする
#
!includedir /etc/my.cnf.d

増加

[クライアント]
デフォルトの文字セット=utf8
ソケット=/var/lib/mysql/mysql.sock
[mysql]
デフォルトの文字セット=utf8
ソケット=/var/lib/mysql/mysql.sock

もう一度接続すれば大丈夫です。

デフォルトのパスワードを変更する

パスワードを設定 = PASSWORD('123456');
ALTER USER 'root'@'localhost' パスワードの有効期限を決して切らさないでください。
権限をフラッシュします。

テストデータのインポート

/usr/local/mysql/bin/mysql -uroot -p123456 テスト < article_rank.sql

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Mysql LONGBLOB型はバイナリデータを格納します(変更+デバッグ+ソート)
  • Mysql LONGTEXT型は大きなファイル(バイナリも可能)を保存します(変更+デバッグ+ソート)
  • Mysql 中国語の挿入と中国語のクエリ (変更 + デバッグ)
  • 初心者向け PHP デバッグ環境の設定 (IIS+PHP+MYSQL)
  • MySQL UDFデバッグモードdebugviewの関連メソッド
  • MySQL のデバッグと最適化に関する 101 のヒントを共有する
  • MLSQL スタックでストリームのデバッグを簡単にする方法

<<:  Windows 10 Home Edition に Docker for Windows をインストールする

>>:  コードレイン効果を実現するJavaScriptキャンバス

推薦する

Windows で MySQL のルート パスワードをリセットする方法

今日、WordPress がデータベースに接続できないことがわかりました。ウィンドウ サーバーにログ...

イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します

コマンドを実行します: docker run --name centos8 -d centos /b...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

MySQL グループ化クエリと集計関数

概要私たちは、双十一に天猫で化粧品を購入する人の平均支出額を知りたい(商品の価格帯を見つけるのに役立...

Linux 環境での Oracle 導入チュートリアル

1. 環境と関連ソフトウェア仮想マシン: VMwore Workstation Linuxシステム:...

vue3 を使用してマテリアル ライブラリを構築する方法

目次なぜマテリアルライブラリが必要なのでしょうか?材質は何ですか?素材の種類fuep、vue3 ベー...

Reactのコンテキストとプロパティの説明

目次1. 文脈1. 使用シナリオ2. 使用手順3. 結論2. 小道具の詳細1. 子供の財産2. 小道...

異なるページ間のJavaScriptデータ転送(URLパラメータ取得)

Web ページでは、あるページに情報を入力すると、別のページにジャンプし、入力した情報が別のページ...

Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明

CentOS6.7にmysql5.7.18をインストールする 1. /usr/localディレクトリ...

Linux で cmake を使用して MySQL をコンパイルおよびインストールするための詳細なチュートリアル

1. cmakeをインストールする1. cmakeの圧縮パッケージを解凍する [root@mysql...

MySQL ストアド プロシージャと共通関数のコード分析

mysql ストアド プロシージャの概念:特定のタスク (クエリと更新) を実行できる、データベース...

CSS インライン スタイル、埋め込みスタイル、外部参照スタイルを使用する 3 つの方法

3 つの方法を使用する簡単な例は次のとおりです。インラインスタイル: <!doctypehtm...

WeChatミニプログラムページとコンポーネント間の情報伝達と機能呼び出し

今回は、私自身の開発経験を踏まえて、以下の観点で関連内容を解説します。ページからコンポーネントにデー...

echartsマップカルーセルハイライトを解決するための記事

目次序文やることリストやるだけ地図を準備するインスタンスをバックアップ用に保存するタイマーカルーセル...

Nginx 1つのドメイン名で複数のプロジェクトにアクセスする方法の例

背景最近、複数のプロジェクトを展開する際に、1 つのドメイン名で複数のプロジェクトにアクセスする方法...