したがって、これは少しあいまいかもしれませんが、ここで何層にもわたって問題が発生しています。Google で見つけた「修正」ごとに、別の問題が発生します。とにかく、MySQL サーバーに支えられた asp.net アプリケーションを作成するために、Windows ホスティング パッケージを購入しました。私は MSSQL に慣れていますが、これは実行可能であり、オープン ソースに適しています。
最初に気付いた問題は、MySQL Server 5.7 を使用した (最近インストールした) MySQL Workbench のコピーでは、DB にまったく接続できないことでした。テーブルがロードを拒否し、次のメッセージが表示されます: #1548 - mysql.proc からロードできません。テーブルが破損している可能性があります
そこから、「大丈夫です。Web 管理ツールを使用するだけです」と考えました。この場合はphpMyadminです。過去に phpMyadmin を使用した経験はありませんが、問題ないように見え、このコントロール パネルにプリインストールされています。最初の 5 つのテーブルを作成することから始めました。それはスムーズに進み、データベースには 5 つのテーブルがあり、そのうちの 1 つには、"SELECT * FROM Account_Type" を実行して表示できるデータもあります。
すべて問題ないように思えたので、アプリケーションをテストするために使用するプロシージャーを作成します。ユーザーが入力した tinyInt に基づいて文字列を返す単なるプロシージャです。その手順は次のようになります。
DROP PROCEDURE IF EXISTS `getAccountTypeName`;
DELIMITER $$
CREATE PROCEDURE `getAccountTypeName`(DimAccountTypeID)
BEGIN
DECLARE DimAccountTypeID TinyINT DEFAULT 0
SELECT AccountTypeName
FROM Account_Type
WHERE AccountTypeID = DimAccountTypeID
END
$$
DELIMITER ;
私には問題ないように思えますが (MS SQL の経験が豊富なため)、MySQL Workbench のローカル コピーと同じエラーが返されます。mysql.proc からロードできません。テーブルが破損している可能性があります
私がインターネットで読んだことはすべて、MySQL をアップグレードする必要がある問題であることを示しています.... ここのコントロール パネルにいるだけなので、アップグレードする方法がわかりません。代わりに、他の問題があるに違いないと感じています。データを含むテーブルにはまだデータが表示され、昨日作成したばかりですが、これがどのように破損するかわかりません。
使ってみた
use mysql;
show create table mysql.proc;
#1044 - データベース 'mysql' へのユーザー 'Birdy'@'%' のアクセスが拒否されました( Birdy は私のユーザー名です)。それが問題の原因であるかどうかはわかりませんが、作成手順を使用せずに他のクエリを実行できます。
ここからの次の考えは、「MySQL Workbench を接続して動作させることができれば、コントロール パネルを無視できる」ということです。これもあまり実りがありません。いくつかのアップグレード コマンドを実行しようとしたのが次のとおりです : http://i.imgur.com/yG1hKrQ.pngどちらかわからない...)
とにかく、ここでの本当の質問は、ほとんど「助けて!」です。問題の原因は「phpMyAdmin を使用して MySQL クエリを作成できない」ことですが、ここでの私の小さな話がそれを診断するのに役立つことを願っています。これらの問題についての助けを本当に感謝します:)
編集: mysql_upgrade を実行しましたが、サイコロはありません。問題は解決しませんが、まだ次のようになっています: http://i.imgur.com/NJpnRzw.png
編集 2: だから私は今のところこれをあきらめて、DB を MSSQL に切り替えて、私が最もよく知っていることに固執しています。データベースの再インストールは役に立たず、Web ホストによるアップグレードも役に立ちませんでした。とにかく助けてくれてありがとう