![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
MYSQLで詰まっています、判りましたらご教授お願いします。
テーブル作成時に設定TYPEでInnoDBを指定するとワーニング
が出てしまいます。これを解消する方法がわかれば教えて下さい。
mysql> create table or_test_mst (
-> test_id varchar(10) not null,
-> test_name varchar(10),
-> PRIMARY KEY (test_id))
-> TYPE = InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)
使用しているバージョンは5.0.7-betaです。
ソースからコンフィギャをしてインストールしました。
コンフィギャは以下のようにして実行しました。
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \
-felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql \
--with-mysqld-user=mysql \
--with-charset=ujis \
--with-extra-charsets=all \
--with-embedded-server \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static
本当は--with-innodbオプションを指定しようと思ったのですが、バージョン4
からデフォルトでInnoDBは有効になっているとの事で入れませんでした。
また、確認のため--with-innodbオプションを設定してコンフィギャしてみた
のですがこの場合でも同じようにテーブル作成時にTYPEでInnoDBを指定
してみるとWarningが出てしまいました。
No.3ベストアンサー
- 回答日時:
失礼、Waningでしたね。
設定とSQLのどちらに問題があるかは
メッセージの内容がわからないとどうしようもないので、
5.0なら
SHOW WANINGS
が使えると思いますので、試してみてください。
ちなみに、4.0ではWARNING自体が存在しないので、
私の環境では同じSQLでも正常終了しました。
参考URL:http://dev.mysql.com/doc/mysql/ja/show-warnings. …
ありがとうございました。
sakyo-tさんの解答で問題の解決ができました。
sakyo-tさんの言うとおりにshow warningを使用してワーニングを検索した結果、
以下のメッセーじが出ました。
mysql> SHOW WARNINGS;
+---------+------+--------------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------------------------------+
| Warning | 1287 | 'TYPE=storage_engine' is deprecated; use 'ENGINE=storage_engine' instead |
+---------+------+--------------------------------------------------------------------------+
どうやらcreate tableのTYPE指定が古い形式なので新しい形式ENGINEを推奨します。
という事らしいです。
という事でテストでTYPEの部分をENGINEに修正した所、以下の様に見事ワーニングが取れました。
mysql> create table or_test_mst (
-> test_id varchar(10) not null,
-> test_name varchar(10),
-> PRIMARY KEY (test_id))
-> ENGINE = InnoDB;
Query OK, 0 rows affected (0.32 sec)
No.2
- 回答日時:
どんなWarningやErrorが出ましたか?
エラーコードなどからも何が原因か見つかることが多いので、
設定と一緒に教えて下しさい。
innodb_data_home_dir = /usr/local/mysql/var/
innodb_log_group_home_dir = /usr/local/mysql/var/
innodb_log_arch_dir = /usr/local/mysql/var/
と設定されていますが
/usr/local/mysql/var/
というディレクトリはありますか?
あるならこのディレクトリにmysqld実行ユーザに
(たぶんmysqlグループでmysqlっていうユーザ)
書き込み権限がありますか?
この回答への補足
/usr/local/mysql/varというディレクトリの存在を確認
したのですが存在していました。
mysqlユーザーでの書込み権限はありました。
パーミッションのオーナーがmysqlになっているのでその辺り
は大丈夫だと思います。
Errorでなく出るのはWarningです。
ちなみにコードは上記に書いた通りですが、
クリエイトテーブルをした時に以下のようなメッセージが
出るという点です。
Query OK, 0 rows affected, 1 warning (0.02 sec)
一応クリエイトテーブル文は成功しているようで
テーブルは作成されていました。
上記クリエイトテーブルでTYPE=InnoDBを外すとWarningが出ずに
以下のようなメッセージが出ます。
Query OK, 0 rows affected
確認でInnoDBが組み込まれているか以下の命令でSQLを飛ばして
確認してみたところどうやら組み込まれてはいるようですがなぜ
Warningが出るのでしょうか?
mysql> show variables like 'have%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| have_archive | NO |
| have_bdb | NO |
| have_blackhole_engine | NO |
| have_compress | YES |
| have_crypt | YES |
| have_csv | NO |
| have_example_engine | NO |
| have_federated_engine | NO |
| have_geometry | YES |
| have_innodb | YES |
| have_isam | NO |
| have_ndbcluster | NO |
| have_openssl | NO |
| have_query_cache | YES |
| have_raid | NO |
| have_rtree_keys | YES |
| have_symlink | YES |
+-----------------------+-------+
17 rows in set (0.34 sec)
と言った感じです。
No.1
- 回答日時:
4.0~4.1くらいまでしか使ったことが無いので、ハズレ情報かもしれませんが。
my.cnfを設定しましたか?
おそらくソースか、share(/usr/shareとか/usr/local/share)に
何パターンかサンプル設定ファイルが置いてあると思います。
my-innodb-heavy-4G.cnf
my-large.cnf
my-medium.cnf
my-small.cnfとか
このなかでinnodb設定をしないと使えないと思います。
詳しくは、my.cnfとかで検索かけたらでてくるんじゃないですかね?
参考URLはMySQL公式ドキュメントのinnodbの項目のリンクです。
参考URL:http://dev.mysql.com/doc/mysql/ja/innodb.html
この回答への補足
sakyo-tさんの指示にあったmy.cnfの設定を行っないようだった
(InnoDBの部分がコメントアウトされてた)ので行ってみました。
/etcの下にあるmy.cnfの部分の設定のコメント部分を外して、
マシンをリブートし、同じようにテーブルを作成してみたのですが、
以前と同じようにワーニングが出てしまいました。
【設定した内容】
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /usr/local/mysql/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var/
innodb_log_arch_dir = /usr/local/mysql/var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
設定が不味かったのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TYPE=Inoodbが指定するとワーニ...
-
接続ができません
-
ORACLE8iとAccess97
-
4バイトUTF-8文字でUPDATEする...
-
psqlでいう Ctrl+C
-
-3.34 が -3.3399999999999999 ...
-
MySQL 文字化けについて(PHP)
-
MySQL 文字化けについて
-
php+mysqlでINSERTで文字化けし...
-
VBAで変数内に保持された二次配...
-
PHP+MySQLから結果セット取得後...
-
INT型は金額の型に使用するべき...
-
MySQLのテーブル作成でハイフン...
-
MySQLでのデータ保存場所の変更
-
windows上のphpにおける全角ハ...
-
mysql sqlエラー
-
mysqlコマンドでSQL文が実行で...
-
フォームからmySQL-DBにデータ...
-
MySQLへ途中から接続できなくなる
-
cseの使い方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
●MySQLが急に停止する事につい...
-
TYPE=Inoodbが指定するとワーニ...
-
DBの最大数
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
MySQLカラム名は日本語と英数字...
-
ODP.NETのバージョン確認
-
旧filemakerで和暦(令和など)...
-
VBAで変数内に保持された二次配...
-
プライマリーキーの昇順でソー...
-
ERROR 1045 (28000) (using pas...
-
INT型は金額の型に使用するべき...
-
like句を使って日本語を検索す...
-
RPMのmysqlとmysql-serverの違い
-
シングルクォーテーションとダ...
-
Float型の時の計算結果がおかしい
-
Column '' not found.
-
SQL開発環境ソフトウェアである...
-
複数行のクエリを、まとめて実...
おすすめ情報