MySQL組み込みデータベースを使用するアプリケーションを構築しようとしています(現在はOS Xではありますが、最終的にはOS XとWindowsの両方) this exampleを出発点として使用しています。私は正常にこのCMakeListsファイルとcmakeのを使用して、それを構築することができました:MySQLを組み込みサーバーとして使用すると、データベースファイルを作成するにはどうすればいいですか?
cmake_minimum_required(VERSION 3.3)
project(Demo)
set(TARGET_NAME Demo)
add_executable(${TARGET_NAME} test2_libmysqld.cpp)
target_include_directories(${TARGET_NAME}
PRIVATE /usr/local/include/mysql
)
find_library(LIBMYSQLD NAMES libmysqld.a)
find_library(LIBSSL NAMES libssl.a PATHS /Users/stebro/test/openssl/openssl)
find_library(LIBCRYPTO NAMES libcrypto.a PATHS /Users/stebro/test/openssl/openssl)
# target_include_directories(${TARGET_NAME} PUBLIC ${LIBMYSQLD_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME}
${LIBMYSQLD}
${LIBSSL}
${LIBCRYPTO}
)
(私は/ユーザ/ stebro /テスト/ opensslのローカルSSLを構築し、私はデモファイルの名前を変更する必要がありました私は、 "EditLine wrapperを使ってosx10.10(x86_64)用のmysql Ver 14.14 Distrib 5.7.19"であるhomebrew経由でインストールされたmysqlを使用しています。 。
私はプログラムを実行すると、私はエラーを取得:
bash$ ./Demo --defaults-file=../my.cnf
InnoDB: Progress in percent: 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
mysql_real_connect failed: Unknown database 'test'
のmy.cnfは次のようになります。
[Demo_SERVER]
language = /usr/local/Cellar/mysql/5.7.19/share/mysql/english
[libmysqd_server]
datadir = ./data
language = ./english
skip-innodb
[libmysqld_client]
language = ./english
テストをしようとしているので、私はこのエラーが起こっていると仮定していますデータベース "test"に接続しますが、このデータベース(または組み込みサーバーに必要なその他のファイル)を作成するための手順は一度もありませんでした。
組み込みサーバーが正しく機能するための開始ファイルの状態を作成するにはどうすればよいですか? theseのような指示でローカルのMySQLインスタンスにデータベースを作成してから、そのサーバをシャットダウンしますか?&ファイルをいくつかのローカルスペースにコピーしますか?または、私は初期ファイル(およびその後のデータベース "test")を作成するために使用するmysqldサーバライブラリのapisですか?