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キャンバス

推薦する

シャドウソックスを使用してLAN透過ゲートウェイを構築する

目次dnsmasq をインストールして設定するChinaDNS をインストールして設定するshado...

Vueライフサイクルの詳細な説明

目次ライフサイクルを理解する理由ライフサイクルとはライフサイクルフック関数作成され、マウントされたフ...

MySQL トリガー構文とアプリケーション例

この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、...

Vueはキャンバスを使用して画像圧縮アップロードを実現します

この記事では、キャンバスを使用して画像圧縮アップロードを実現するVueの具体的なコードを参考までに共...

モバイル Web アプリ上の画像が鮮明ではなく、非常にぼやけているのはなぜですか?

なぜ?最も簡単に言えば、ピクセルは均等ではないということです。携帯電話に表示される写真はとても繊細に...

HTMLにおける絶対パスと相対パスの違いの分析

図に示すように: 1 つのページには多数のファイルが接続されているため、ファイルを参照するときには、...

マージンの重複問題を解決する方法

1. まず、2つ以上の隣接する通常フローブロック要素の垂直マージンの崩壊を引き起こす原因を知る必要が...

HTML ページ共通スタイル (推奨)

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピーbody、di...

MySQLフィルタリングレプリケーションのアイデアの詳細な説明

目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...

Vueは小さな天気予報アプリケーションを実装します

これは私が Vue フレームワークを独学していたときに真似したウェブサイトです。いくつかの都市の天気...

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

Vue.jsは音楽プレーヤーを実装します

この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...

Ubuntu 18.04 に Anaconda3 をインストールするための詳細なチュートリアル

Anaconda は、conda、Python、およびそれらの依存関係など、180 を超える科学パッ...

シンプルなログインページを実装するための HTML+jQuery

目次導入公開コード(バックエンドインターフェース)例 1: 最もシンプル (純粋な HTML)コード...