次に、MySQLのC ++の操作について挿入します。
フロントは、Red Hat上のMySQLデータベースをインストールし、その後、私は、MySQL用のLinux上でC ++を使用する必要が読み取り操作と書き込み。
のは、比較的現実の本番環境をシミュレートしてみましょう。
私は、アプリケーションを使用してMySQLデータベース、アプリケーションサーバをインストールし、2台のLinuxマシンを持っています。または伝統的な、私のデータベース・サーバは、HPのミニコンピュータ、IBM AIXを使用する場合があります。次のように図全体的な結果は以下の通りでした。
私はRedHatののMySQLのフロントをインストールするために使用されているそのうちの一つ2のLinux VMを作成して、他の一つはRHの新規インストールです。
私はこの新しいVMでのMySQLデータベースに接続して操作する必要があります。私たちは最初、私はマシン上のtelnetのMySQLサービスポート番号にできる午前ことを確認する必要があります。
私はMySQLサーバのヘッダファイルやライブラリになりますので、MySQLが提供するライブラリのlibを使用する必要があるのでlibがコピーされます。私は、このディレクトリ/ダニエル/ MySQLを置きます
[ダニエル@ daniel2のmysql] $ PWD /ダニエル/ mysqlの [ダニエル@ daniel2のmysql] $北韓 合計8 drwxrwxr -x。3ダニエル・ダニエル4096 2011/12/31 29 17:18が含まれる drwxrwxr -x。7ダニエルダニエル・4096 12月29 15:26 のlib [ダニエル@ daniel2のmysql] $
私は、ユーザーを作成し、私は人々にrootのパスワードを伝えることができない、別のマシン上のデータベースに接続する必要がありますが、データベースを作成し、ユーザーは、対応するデータベースで同様のDBAに権限を持っている、あなたはすべてのことで、実装を変更することができます切除調査、及び、テーブルを作成してテーブル構造を変更することができます。
区切り文字$$ CREATE DATABASE `CRM` / * !40100デフォルトの文字セットutf8mb4のCOLLATEのutf8mb4_0900_ai_ciを* / / * !80016デフォルトの暗号化= 'N' * / $$
ユーザーを作成し、権限を割り当て
作成 ユーザー 「USER1 」 @ 「%」識別により 「123456 」。 GRANT ALL ON CRM。* TO ' CRM ' @ ' %' ;
テーブルとストアドプロシージャを作成します。(簡単にするために私はMySQLのワークベンチのスクリーンショットのテーブル構造とストアドプロシージャを与えます)
次に、私が操作が提供するMySQLのAPI関数を使用する必要があります。
コード内の特定のコードはここにhttps://github.com/danielhu1983/Tools/tree/master/MySQLSample見ることができます
1. MySQLの接続クラス
mysql_initの呼接続の初期化
mysql_real_connectコールデータベース接続
最後に、にmysql_closeを使用して接続を閉じます
2. MySQLのDBHelperクラス
インターフェースを提供し、INIT、MySQLの接続のinitメソッドを呼び出し、connectメソッド
Execは、コールmysql_real_queryにSQLコマンドを実行するためのインタフェースを提供します
3.主な機能
MySQLのDBHelperは、init関数とexec関数を呼び出します。
Makefile 中,
私は、ヘッダファイルが再び一人でパスを指定する必要が見つける必要があります。
MYSQL_ROOT = /ダニエル/ mysqlの
HEADER_PATH = -I $(MYSQL_ROOT)/含めます
これが唯一のもそう使用するファイルを指定する必要があり、時間の最終的なリンクをコンパイルするために使用されます。この時点でのMySQL Serverマシンから私がインストールするには、次のコマンドを実行して、出力結果を得ます
[ダニエル@ダニエル〜] $ mysql_configを- libsに -L / mysqlの/ mysqlroot / libに-Wl、-R、/ mysqlの/ mysqlroot / libに -lmysqlclient -lpthread -lm -lrt -lssl -lcrypto - LDL [ダニエル@ダニエル〜 ] $
上部にはそう書かれているように、私のMakefileファイルとして、私が対応するディレクトリに変更するMySQLをインストールしていないマシンで、赤で強調表示しました
LIBS = -L $(MYSQL_ROOT)/ libに-Wl、-R、$(MYSQL_ROOT)/ libに-lmysqlclient -lpthread -lm -lrt -lssl -lcrypto -ldl
そして、機械でmakeコマンドを実行し、結果の実行可能ファイルがMySQL.1.0.0.1です
使用する前に、私は、ホームディレクトリの.bash_profileを開いているファイルを、私の環境では、環境変数を設定する必要があります
輸出MYSQL_HOME = /ダニエル/ mysqlの
輸出LD_LIBRARY_PATH = $ MYSQL_HOME / libにします。$ LD_LIBRARY_PATHの
PATH = $ PATH:$ HOME / .localの/ビン:$ HOME / binに
輸出PATH
ここで私は、プログラムが/ダニエル/ mysqlの/ libディレクトリ対応のlibからMySQLデータベースを見つけることができるように、LD_LIBRARY_PATHのパスを指定しました
SQLコードIの使用ストアドプロシージャを呼び出すことで、最終的な結果は次のようになります。
[ダニエル@ daniel2 MySQLSample] $ ./MySQL.1.0.0.1
1 ダニエル
2ダニエル
完全なコールそれを一日。