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

推薦する

画像比較を実現するjQueryプラグイン

この記事の例では、画像比較を実現するためのjQueryプラグインの具体的なコードを参考までに共有して...

ElementUIテーブルのヘッダーアイコンにフローティングプロンプトを追加します。

この記事では主に、ElementUI テーブルのヘッダー アイコンにフローティング プロンプトを追加...

ReactのsetStateがマクロタスクなのかマイクロタスクなのかについて詳しく話しましょう

目次序文面接官は適切な質問をしていますか? § React は setState をどのように制御し...

Dockerfile echoは、指定されたファイル内の複数行のテキストを実装する方法を指定します。

Dockerfile内の指定されたファイルに複数の行を追加します。echoの後の「$」記号に注意し...

MySQL 5.7.23 のインストールと設定方法のグラフィックチュートリアル

この記事では、参考として MySQL 5.7.23 のインストール チュートリアルを記録します。 1...

MySQL にテーブルが存在するかどうかを確認し、それを一括で削除する方法

1. インターネットで長時間検索しましたが、判定表が存在するかどうかがわからなかったので、漠然と削除...

MySQL で複数の主キーが定義されているエラーの解決方法

主キーを作成するには 2 つの方法があります。 テーブルテーブル名を作成( フィールド名タイプ、 フ...

MySQL レプリケーションの利点と原則を詳しく説明します

レプリケーションとは、マスター データベースの DDL および DML 操作をバイナリ ログを介して...

Linux で MySQL 5.6 X64 バージョンをインストールする詳細な手順

環境: 1. CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5...

Windows 10 の Docker で countly-server を展開して実行するプロセス

私は最近countlyに触れて、慣れてきました。私は、必要に応じてcountlyのクラッシュプラグイ...

CSSの2つの特別な値は、カスケードの継承と初期メソッドを制御するために使用されます。

カスケードを制御するために CSS の任意のプロパティに割り当てることができる特別な値が 2 つあり...

MySQL の大きなデータ テーブルにフィールドを追加する方法

序文フィールドの追加は誰でもよく知っていると思います。簡単に記述できます。MySQL テーブルにフィ...

Vueルーティングルーターの詳細な説明

目次ルーティングプラグインをモジュール方式で使用するルートの使用宣言型ナビゲーションプログラムによる...

Linux システム AutoFs 自動マウント サービスのインストールと構成

目次序文1. サービスプログラムをインストールする2. メイン設定ファイルを書く3. サブ構成ファイ...

Vue2 と Vue3 でウォッチ リスナーを使用する方法

watch : データの変更を監視する(特定の値の変更イベント) vue2.x データ(){ 戻る ...