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

推薦する

Linux コマンド クエリ アプレットでの WePY クラウド開発の実践

みなさんこんにちは。今日は Linux コマンド クエリ アプレットでの WePY クラウド開発の実...

Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

さっそくAlibaba の oracle11g イメージをプルして構成する docker の記録を開...

Vueナンバープレート検索コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

W3C チュートリアル (5): W3C XML アクティビティ

XML は、データを記述、保存、送信、交換するために設計されています。 XML 1.0 は XML ...

ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します

この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...

VMware ESXi CLI の一般的なコマンドを調べる

目次【共通コマンド】 [一般的な esxi コマンドの概要] [esxcli コマンドの調査] ES...

Dockerデータのバックアップとリカバリプロセスの詳細な説明

データのバックアップ操作は非常に簡単です。次のコマンドを実行します。 docker run --vo...

理論の普及——ユーザーエクスペリエンス

1. 概念分析 1: UE ユーザー エクスペリエンス <br />英語ではユーザー エ...

Mysqlデータテーブルでワームレプリケーションを使用する方法

簡単に言えば、MySQL ワーム レプリケーションは、クエリされたデータを指定されたデータ テーブル...

Linux ファイルディレクトリ管理コマンドの概要

タッチコマンドこれには 2 つの機能があります。1 つは、既存のファイルの時間タグを現在のシステム時...

MySQL Limitクエリのパフォーマンスを向上させる方法

MySQL データベース操作では、一部のクエリを実行するときにデータベース エンジンが完全なテーブル...

JavaScript でプライベート メンバーを作成する

目次1. クロージャを使用する2. ES6クラスを使用する3. ES2020提案を使用する4. We...

HTMLでマスクレイヤーを実装する方法 HTMLでマスクレイヤーを使用する方法

Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...