Так что это может быть немного расплывчато, но я столкнулся с этим слоем после слоя проблем. Каждое «исправление», которое я нахожу в Google, представляет мне еще одну проблему. Все равно, я купил пакет хостинга Windows, чтобы создать приложение asp.net, поддерживаемое сервером MySQL. Я привык к MSSQL, но это должно быть работоспособным и лучше для open source.Невозможно создать хранимую процедуру с использованием MySQL
Первой проблемой, которую я заметил, была то, что моя (недавно установленная) копия MySQL Workbench с MySQL Server 5.7 не позволит мне подключиться к моей базе данных вообще. Таблицы отказываются загружаться, и меня приветствуют: # 1548 - Невозможно загрузить из mysql.proc. Таблица, вероятно, поврежден
Оттуда я подумал «хорошо, что это нормально, я просто использовать инструмент веб-администратора» который в данном случае является PHPMYADMIN. У меня есть нулевой опыт работы с phpMyadmin в прошлом, но он выглядит нормально и предварительно установлен в этой панели управления. Я начал с создания моих первых 5 таблиц. Это прошло гладко, и теперь у меня есть 5 таблиц в базе данных, у одного из них даже есть некоторые данные, которые я могу просмотреть, запустив «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 - Доступ запрещен для пользователя «Birdy» @ «%» в базу данных «MySQL ' (Birdy - мое имя пользователя). Я не знаю, является ли THAT источником проблем, но я могу запускать любой другой запрос без возможности создания процедуры.
Следующая мысль отсюда «эй, если я могу просто заставить MySQL Workbench подключиться и работать, тогда я могу игнорировать панель управления». Это не очень плодотворное или, вот мои попытки запуска некоторых команд обновления: http://i.imgur.com/yG1hKrQ.png (Для этого passsword, я должен использовать мой Windows, один мой MySQL Birdy имени пользователя пароль не уверен, какие ...?)
Реальный вопрос здесь в любом случае - это просто «помощь!». Источником проблемы является «не может создать MySQL-запрос с использованием phpMyAdmin», хотя, надеюсь, моя маленькая история должна помочь диагностировать это. Было бы очень полезно помочь с этими проблемами :)
EDIT: У меня есть mysql_upgrade для запуска, но все равно нет кубиков.Это не решает проблемы, по-прежнему выглядит следующим образом: http://i.imgur.com/NJpnRzw.png
EDIT 2: Так я даю на это сейчас, переключая мой DB к MSSQL и придерживаться того, что я знаю лучше всего. Повторная установка db не помогла, и обновление не было моим веб-хостом. Спасибо за вашу помощь в любом случае ребята
Я думаю, что 'mysql_upgrade' утилита командной строки действительно ваш следующий шаг; Я буду продолжать пытаться заставить это работать. Вы должны использовать «root» пользователя, а пароль - все, что вы выбрали при установке сервера MySQL (это главный пароль, как «sa» на MSSQL). –
Кажется, что-то испорчено. Поскольку это новая установка, наиболее эффективным решением может быть просто очистка всей установки MySQL (в том числе «datadir», где хранятся фактические базы данных на диске) и переустановка. Как это сделать будет зависеть от того, как он был установлен, но, возможно, ваш хостинг-провайдер может помочь. –