{"id":485,"date":"2014-05-10T23:26:38","date_gmt":"2014-05-10T14:26:38","guid":{"rendered":"http:\/\/www.uturtle.com\/blog\/?p=485"},"modified":"2014-05-10T23:46:48","modified_gmt":"2014-05-10T14:46:48","slug":"%ec%9c%88%eb%8f%84%ec%9a%b0%ec%97%90%ec%84%9c-mysql2-ruby-gem%ec%9d%b4-%ec%84%a4%ec%b9%98%ea%b0%80-%ec%95%88%eb%90%a0-%ea%b2%bd%ec%9a%b0-%ed%95%b4%ea%b2%b0%eb%b0%a9%eb%b2%95-2","status":"publish","type":"post","link":"https:\/\/www.jinukbaek.com\/blog\/ko\/archives\/485","title":{"rendered":"\uc708\ub3c4\uc6b0\uc5d0\uc11c \u201cmysql2 ruby gem\u201d\uc774 \uc124\uce58\uac00 \uc548\ub420 \uacbd\uc6b0 \ud574\uacb0\ubc29\ubc95 2"},"content":{"rendered":"<p>\ubaa8\ub4e0 \uac83\uc740 mysql\uc11c\ubc84\ub97c \uc124\uce58\ud558\uc9c0 \uc54a\uace0 rails\ub97c \ud558\ub824\uace0 \ud55c \uac83\uc5d0\uc11c \uc2dc\uc791\ub418\uc5c8\ub2e4. \uc544\ub798\uc640 \uac19\uc740 \ubb38\uc81c\uc758 \uacbd\uc6b0, \uc0ac\uc6a9\ud558\ub294 ruby\uc758 \ud50c\ub81b\ud3fc(x86\/x64 \uc5ec\ubd80)\uc640 \uad00\ub828\ub41c \ubb38\uc81c\ub2e4. \uc5d0\ub7ec \ub0b4\uc6a9\uc774 link \uc5d0\ub7ec\uc5ec\uc11c \uc880 \ub354 \uc720\uc2ec\ud788 \ubcf4\uc558\ub2e4. \uadf8\ub7ac\ub354\ub2c8 \uc5bb\uc740 \uacb0\ub860! mysql connector\ub294 x64 \ubc84\uc83c\uc774\uace0 \ub8e8\ube44\ub294 x86\uc774\uc600\ub358 \uac83\uc774\ub2e4. \uc791\ub3d9 \ud50c\ub81b\ud3fc\uc774 \ub2e4\ub974\ub2c8 \ub2f9\uc5f0\ud788 \ubc1c\uc0dd\ud558\ub294 \ubb38\uc81c\uc600\ub2e4. \uc544\uc774\uad6c&#8230; \uc5b4\uca0b\ub4e0,\u00a0<a href=\"http:\/\/dev.mysql.com\/downloads\/connector\/c\/\">\uc5ec\uae30<\/a>\uc5d0\uc11c x86\ubc84\uc83c \ucee4\ub125\ud130\ub97c \ubc1b\uc544\uc11c \uc124\uce58\ud558\uc5ec\uc11c \uacbd\ub85c\ub97c \uc57d\uac04 \uc218\uc815\ud574 \ub2e4\uc2dc \uc2e4\ud589\ud558\uc600\ub354\ub2c8 \uc131\uacf5\uc801\uc73c\ub85c \uc124\uce58\ub418\uc5c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h4>1. \ud574\uacb0 \ubc29\ubc95<\/h4>\n<p>1) mysql connect (x86)\ubc84\uc83c\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\ub294\ub2e4.<\/p>\n<p>2) \uc544\ub798 \uba85\ub839\uc744 \uc2e4\ud589\ud55c\ub2e4.<\/p>\n<pre class=\"lang:default decode:true\">C:\\Ruby193\\bin&gt;gem install mysql2 --platform=ruby -- '--with-mysql-lib=\"C:\\Program Files (x86)\\MySQL\\MySQL Connector C 6.1\\lib\" --with-mysql-include=\"C:\\Program Files (x86)\\MySQL\\MySQL Connector C 6.1\\include\"'<\/pre>\n<p>&nbsp;<\/p>\n<h4>2. \uc5d0\ub7ec \uba54\uc2dc\uc9c0<\/h4>\n<pre class=\"lang:default decode:true\">C:\/Ruby193\/bin\/ruby.exe extconf.rb --width-mysql-lib=\"C:\\Program Files\\M\r\nySQL\\MySQL Connector C 6.1\\lib\" --width-mysql-include=\"C:\\Program Files\\MySQL\\My\r\nSQL Connector C 6.1\\include\" --with-mysql-dir=\"C:\\Program Files\\MySQL\\MySQL Conn\r\nector C 6.1\"\r\nchecking for ruby\/thread.h... no\r\nchecking for rb_thread_blocking_region()... yes\r\nchecking for rb_wait_for_single_fd()... yes\r\nchecking for rb_hash_dup()... yes\r\nchecking for rb_intern3()... yes\r\n-----\r\nUsing --with-mysql-dir=C:\\Program Files\\MySQL\\MySQL Connector C 6.1\r\n-----\r\nchecking for main() in -llibmysql... yes\r\nchecking for mysql.h... yes\r\nchecking for errmsg.h... yes\r\nchecking for mysqld_error.h... yes\r\n-----\r\nSetting rpath to \/lib\r\n-----\r\ncreating Makefile\r\n\r\nmake\r\ngenerating mysql2-i386-mingw32.def\r\ncompiling client.c\r\nclient.c: In function 'finish_and_mark_inactive':\r\nclient.c:513:3: warning: ISO C90 forbids mixed declarations and code\r\ncompiling infile.c\r\ncompiling mysql2_ext.c\r\ncompiling result.c\r\nresult.c: In function 'rb_mysql_result_fetch_fields':\r\nresult.c:415:35: warning: comparison between signed and unsigned integer express\r\nions\r\nlinking shared-object mysql2\/mysql2.so\r\nclient.o: In function `nogvl_connect':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:157: undef\r\nined reference to `mysql_real_connect@32'\r\nclient.o: In function `nogvl_init':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:146: undef\r\nined reference to `mysql_init@4'\r\nclient.o: In function `set_ssl_options':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:1102: unde\r\nfined reference to `mysql_ssl_set@24'\r\nclient.o: In function `mysql_client_options':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:744: undef\r\nined reference to `mysql_options@12'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:748: undef\r\nined reference to `mysql_error@4'\r\nclient.o: In function `rb_mysql_info':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:271: undef\r\nined reference to `mysql_info@4'\r\nclient.o: In function `rb_mysql_client_warning_count':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:261: undef\r\nined reference to `mysql_warning_count@4'\r\nclient.o: In function `nogvl_do_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:375: undef\r\nined reference to `mysql_store_result@4'\r\nclient.o: In function `rb_mysql_client_more_results':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:947: undef\r\nined reference to `mysql_more_results@4'\r\nclient.o: In function `nogvl_select_db':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:887: undef\r\nined reference to `mysql_select_db@8'\r\nclient.o: In function `nogvl_ping':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:918: undef\r\nined reference to `mysql_ping@4'\r\nclient.o: In function `rb_mysql_client_thread_id':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:880: undef\r\nined reference to `mysql_thread_id@4'\r\nclient.o: In function `rb_mysql_client_last_id':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:849: undef\r\nined reference to `mysql_insert_id@4'\r\nclient.o: In function `nogvl_read_query_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:362: undef\r\nined reference to `mysql_read_query_result@4'\r\nclient.o: In function `rb_mysql_client_server_info':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:809: undef\r\nined reference to `mysql_get_server_version@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:810: undef\r\nined reference to `mysql_get_server_info@4'\r\nclient.o: In function `rb_mysql_client_info':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:777: undef\r\nined reference to `mysql_get_client_version@0'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:778: undef\r\nined reference to `mysql_get_client_info@0'\r\nclient.o: In function `rb_mysql_client_real_escape':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:667: undef\r\nined reference to `mysql_real_escape_string@16'\r\nclient.o: In function `finish_and_mark_inactive':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:520: undef\r\nined reference to `mysql_free_result@4'\r\nclient.o: In function `nogvl_send_query':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:339: undef\r\nined reference to `mysql_send_query@12'\r\nclient.o: In function `nogvl_close':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:189: undef\r\nined reference to `mysql_close@4'\r\nclient.o: In function `rb_mysql_client_escape':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:242: undef\r\nined reference to `mysql_escape_string@12'\r\nclient.o: In function `rb_raise_mysql2_error':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:125: undef\r\nined reference to `mysql_error@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:126: undef\r\nined reference to `mysql_sqlstate@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:135: undef\r\nined reference to `mysql_errno@4'\r\nclient.o: In function `rb_connect':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:301: undef\r\nined reference to `mysql_errno@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:309: undef\r\nined reference to `mysql_get_server_version@4'\r\nclient.o: In function `rb_mysql_client_store_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:990: undef\r\nined reference to `mysql_errno@4'\r\nclient.o: In function `rb_mysql_client_next_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:963: undef\r\nined reference to `mysql_next_result@4'\r\nclient.o: In function `rb_mysql_client_affected_rows':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:863: undef\r\nined reference to `mysql_affected_rows@4'\r\nclient.o: In function `rb_mysql_client_async_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:424: undef\r\nined reference to `mysql_errno@4'\r\nclient.o: In function `rb_mysql_client_abandon_results':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:544: undef\r\nined reference to `mysql_next_result@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:543: undef\r\nined reference to `mysql_more_results@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:552: undef\r\nined reference to `mysql_free_result@4'\r\nclient.o: In function `nogvl_do_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:373: undef\r\nined reference to `mysql_use_result@4'\r\nclient.o: In function `nogvl_close':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:189: undef\r\nined reference to `mysql_close@4'\r\nclient.o: In function `set_charset_name':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:1091: unde\r\nfined reference to `mysql_options@12'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:1093: unde\r\nfined reference to `mysql_error@4'\r\nclient.o: In function `nogvl_close':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:189: undef\r\nined reference to `mysql_close@4'\r\nclient.o: In function `init_mysql2_client':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/client.c:1141: unde\r\nfined reference to `mysql_get_client_info@0'\r\ninfile.o: In function `mysql2_set_local_infile':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/infile.c:114: undef\r\nined reference to `mysql_set_local_infile_handler'\r\nresult.o: In function `rb_mysql_result_count':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:592: undef\r\nined reference to `mysql_num_rows@4'\r\nresult.o: In function `rb_mysql_result_fetch_field':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:123: undef\r\nined reference to `mysql_fetch_field_direct@8'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:111: undef\r\nined reference to `mysql_num_fields@4'\r\nresult.o: In function `rb_mysql_result_fetch_fields':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:411: undef\r\nined reference to `mysql_num_fields@4'\r\nresult.o: In function `nogvl_fetch_row':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:102: undef\r\nined reference to `mysql_fetch_row@4'\r\nresult.o: In function `rb_mysql_result_free_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:76: undefi\r\nned reference to `mysql_free_result@4'\r\nresult.o: In function `rb_mysql_result_fetch_row':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:209: undef\r\nined reference to `mysql_fetch_lengths@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:211: undef\r\nined reference to `mysql_num_fields@4'\r\nresult.o: In function `rb_mysql_result_each':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:512: undef\r\nined reference to `mysql_fetch_fields@4'\r\nresult.o: In function `rb_mysql_result_free_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:76: undefi\r\nned reference to `mysql_free_result@4'\r\nresult.o: In function `rb_mysql_result_each':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:530: undef\r\nined reference to `mysql_error@4'\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:547: undef\r\nined reference to `mysql_fetch_fields@4'\r\nresult.o: In function `rb_mysql_result_free_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:76: undefi\r\nned reference to `mysql_free_result@4'\r\nresult.o: In function `rb_mysql_result_each':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:499: undef\r\nined reference to `mysql_num_rows@4'\r\nresult.o: In function `rb_mysql_result_free_result':\r\nC:\\Ruby193\\lib\\ruby\\gems\\1.9.1\\gems\\mysql2-0.3.15\\ext\\mysql2\/result.c:76: undefi\r\nned reference to `mysql_free_result@4'\r\ncollect2: ld returned 1 exit status\r\nmake: *** [mysql2.so] Error 1\r\n\r\n\r\nGem files will remain installed in C:\/Ruby193\/lib\/ruby\/gems\/1.9.1\/gems\/mysql2-0.\r\n3.15 for inspection.\r\nResults logged to C:\/Ruby193\/lib\/ruby\/gems\/1.9.1\/gems\/mysql2-0.3.15\/ext\/mysql2\/g\r\nem_make.out\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ubaa8\ub4e0 \uac83\uc740 mysql\uc11c\ubc84\ub97c \uc124\uce58\ud558\uc9c0 \uc54a\uace0 rails\ub97c \ud558\ub824\uace0 \ud55c \uac83\uc5d0\uc11c \uc2dc\uc791\ub418\uc5c8\ub2e4. \uc544\ub798\uc640 \uac19\uc740 \ubb38\uc81c\uc758 \uacbd\uc6b0, \uc0ac\uc6a9\ud558\ub294 ruby\uc758 \ud50c\ub81b\ud3fc(x86\/x64 \uc5ec\ubd80)\uc640<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[135],"tags":[115,202,201,197,200],"class_list":["post-485","post","type-post","status-publish","format-standard","hentry","category-ruby-on-rails","tag-mysql2-ruby-gem","tag-x64","tag-x86","tag-197","tag-200"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8gT1J-7P","_links":{"self":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/comments?post=485"}],"version-history":[{"count":5,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/485\/revisions"}],"predecessor-version":[{"id":492,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/485\/revisions\/492"}],"wp:attachment":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/media?parent=485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/categories?post=485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/tags?post=485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}