質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

5508閲覧

Missing Database Tableエラー、SQLエラーが出ます。

sushi-sushi

総合スコア13

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/11/13 05:47

大変お世話になっております。先ほどから何度も投稿している者です。
現在、こちらのサイトを参考に(先ほどとはURLが変わっています)Wordpressにスクレイピングの機能をつけようとしています。
あと少しのところで初期設定が終わるのですが、最後の最後でまた問題が出ました。

サイトに下記のように指示があり、その通りに行ったのですが、依然としてMissing Database Tableのエラーが出ます。

スクレイピング管理画面に必要なテーブルの自動生成

設置したスクレイピングプログラムの管理画面トップにアクセスします。
http://example.com/parth/

すると、エラー画面になります。

テーブルが存在しないために発生するエラーなので、必要なテーブルを自動で作成するためにこちらにアクセスします。
http://example.com/parth/sqls/

すると、管理画面のトップページに移動します。

一度/parth/sqls/にアクセスすると、スクレイピングに必要なテーブル構造にWordPressのDBが変更されるのです。
無事管理画面のトップが表示されたらテーブル生成の以下のファイルは必要ないので削除しましょう。
parth/app/controllers/sqls_controller.php

そのため、次の指示である下記を実行したのですが(実際のSQLは省略。詳しくは先ほど張り付けたURL先にあります。)
イメージ説明
このようなエラーが出ます。
(Wordpressの置いてあるデータベース上とMySQLデータベース上で実行しました。画像はWordpressデータベース上のものです。MySQLデータベース上も同じようなエラーが出ました。)

もしもそれでもMissing Table の表示が出る場合は Create Tableの権限がユーザーにはないのかもしれません。
phpMyAdminから以下のSQLを順に実行していきましょう。

また、上記引用内のhttp://example.com/parth/sqls/こちらのURLにアクセスすると下記のような画面になります。
http://example.com/parth/もほぼ同じです)

イメージ説明

毎回毎回何かしら問題が起きて、泣いています。
どうか、ご助力、お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

うーん…。
SQLのエラーだけなら、wp_postsテーブルにすでにvalってカラムがあるからだと思うんですけど…。

SHOW COLUMNS FROM wp_posts
で確認してみてください。

あと、access deniedはrootユーザがlocalhostから接続出来ないからです。
デフォルト設定だとそうなっているはずなので、ユーザーを確認してください。

select host, user from user;
こんな感じのSQLで確認。

投稿2015/11/13 06:03

編集2015/11/13 06:12
anonymouskawa

総合スコア856

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2015/11/13 06:11

おっと、見落としていました。エラー・メッセージにDuplicate column name ってあるから、すでに同名の列が追加されていますね。 わたしのコメントを削除できん。汗
sushi-sushi

2015/11/13 06:37

確認したところ、valとitem_idというものだけ存在しているみたいでした。 そのため CREATE TABLE IF NOT EXISTS `items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `url` varchar(255) DEFAULT NULL, `term_id` int(11) DEFAULT NULL, `tag` varchar(255) DEFAULT NULL, `tag2` varchar(255) DEFAULT NULL, `page` varchar(255) DEFAULT NULL, `encode` varchar(255) DEFAULT 'UTF-8', `full_path` varchar(255) DEFAULT NULL, `created` datetime DEFAULT NULL, `modified` datetime DEFAULT NULL, `count` int(11) DEFAULT '0', PRIMARY KEY (`id`), KEY `count` (`count`), KEY `term_id` (`term_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `tags` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `item_id` int(11) DEFAULT NULL, `tag` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `wp_posts` ADD `val` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , ADD INDEX (`val`); ALTER TABLE `wp_posts` ADD `item_id` INT NULL , ADD INDEX ( `item_id` ); ALTER IGNORE TABLE wp_posts ADD UNIQUE ( val ); 内の ALTER TABLE `wp_posts` ADD `val` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , ADD INDEX (`val`); ALTER TABLE `wp_posts` ADD `item_id` INT NULL , ADD INDEX ( `item_id` ); の部分だけをとってSQLで実行したところ ”# 3 行変更しました。”と返ってきました。 その後先ほどのhttp://example.com/parth/sqls/に戻っても、同じエラーが出ています。 DBは列と行で成り立っているということは分かったのですが、このメッセージの意味するところ(自分のやっていること)がやはりいまいち分かりません。 見当違いのことをしているのでしょうか? またselect host, user from user;も行いましたが エラー SQL query: ドキュメント select host, user from user LIMIT 0, 25 MySQL のメッセージ: ドキュメント #1146 - Table 'wordpress.user' doesn't exist というエラーが出ました。 コメント欄に長々と書いてすみません。よろしくお願いします。
sushi-sushi

2015/11/13 06:39

上記の長々と書いたSQLは私の参照しているサイトでエラーが出たときに実行しなさいと書いてあったものです。
anonymouskawa

2015/11/13 06:59

一個一個やっていかないとねぇ。 select Host, User from mysql.user; でlocalhostのHostを確認してください。
sushi-sushi

2015/11/13 07:12

確認しました。 全部で6個みつかり、そのうちHostがlocalhostのものは4個あります。その中にrootもuserとしています。
anonymouskawa

2015/11/13 07:14

間違えました。 rootのlocalhostを確認してください、が正しいです。 すみません。
sushi-sushi

2015/11/13 07:23

すみません、rootのlocalhostの何を確認すればいいかがわからなかったので、とりあえず先ほどのuserとしてのrootのところをクリックしたところ エラー SQL query: ドキュメント編集 編集 SELECT * FROM `mysql`.`db` WHERE `User` = 'root' AND `Host` = 'localhost' ORDER BY `Db` ASC MySQL のメッセージ: ドキュメント #126 - Incorrect key file for table '.\mysql\db.MYI'; try to repair it と出てきました。 あっていますでしょうか?お手数おかけしてます。すみません。
anonymouskawa

2015/11/13 07:26

すみません、ダメですね、なんか疲れてるみたいです…。 rootのhostに何が表示されているか、ですね…。ほんとごめんなさい。
sushi-sushi

2015/11/13 07:51

User Accountsをクリックすると下記のエラーが出ます。 エラー Static analysis: 5 errors were found during analysis. Unexpected closing bracket. (near ")" at position 52) Unexpected closing bracket. (near ")" at position 110) Unexpected closing bracket. (near ")" at position 177) Unexpected closing bracket. (near ")" at position 245) Unexpected closing bracket. (near ")" at position 311) SQL query: ドキュメント編集 編集 (SELECT DISTINCT `User`, `Host` FROM `mysql`.`user` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`db` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`tables_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`columns_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`procs_priv` ) ORDER BY `User` ASC, `Host` ASC MySQL のメッセージ: ドキュメント そのため、先ほど頂いたselect Host, User from mysql.user;を実行し、出てきた6つのuserのうち、userがrootになっている3つのHostが下記の三つです。 これであっていますでしょうか。こちらこそ、ここまでお付き合いくださり、感謝の気持ちでいっぱいです。 127.0.0.1 ::1 localhost
sushi-sushi

2015/11/13 07:54

databaseの設定をいじったらできました!!! 自分でもよくわかりません。でもできました! ここまで親切に色々助けてくださいって本当にありがとうございました。涙で前が見えません。
guest

0

MySQL列追加
が参考になるでしょうか?

投稿2015/11/13 05:57

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sushi-sushi

2015/11/13 06:39

ありがとうございます。これは列を追加するべきなのでしょうか? 自分でももっと調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問