1

MySQL Workbench を使用してデータベースを作成してきましたが、最近、構造を phpmyadmin にエクスポートすることにしました。

Workbench には、作成スクリプトを自動的に生成できる機能があり、そうすると次の出力が得られます。

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;

USE `mydb` ;

-- -----------------------------------------------------
-- Table `mydb`.`User`
-- -----------------------------------------------------

DROP TABLE IF EXISTS `mydb`.`User` ;

CREATE  TABLE IF NOT EXISTS `mydb`.`User` (
  `idUser` INT NOT NULL AUTO_INCREMENT ,
  `Username` VARCHAR(25) NOT NULL ,
  `Password` VARCHAR(25) NOT NULL ,
  `Email` VARCHAR(45) NOT NULL ,
  `DateJoined` DATETIME NOT NULL ,
  PRIMARY KEY (`idUser`) )
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

私の実際のデータベースはもっと複雑ですが、これは単なる例として使用しています。create ステートメントを作成したので、ファイルを phpmyadmin にインポートしようとしましたが、うまくいきません。また、phpmyadmin 自体でコードを実行します。どちらの場合も、次のエラーが表示されます。

#1044 - Access denied for user 'myusername'@'localhost' to database 'mydb'

私は当初、ユーザーを設定せずにSQLを実行しようとしていることが問題だと思っていました。そのため、Workbench でユーザーを設定し、新しい create ステートメントを実行しようとしました (これにより、ユーザーと十分なロールも作成されます) が、同じエラーが発生します。

最後に、phpmyadmin でユーザーを作成して初期スクリプトを実行しようとしましたが、同じエラーが発生し続けます。

誰か助けてくれませんか?

編集:実際のエラー メッセージの上で、次の行が強調表示されます。

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;**

文字セットを変更しようとしましたが、それでもエラーが発生します。

4

0 に答える 0