• ベストアンサー
  • 困ってます

create database

mysqlにログインできるのですが create databaseが実行できません。 myphpadminでも、新規データベースの作成に「特権なし」と表示されています。 以前は、作成できていたのですが、できなくなったのは、どのようなことが原因として考えられるのでしょうか? よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • MySQL
  • 回答数2
  • 閲覧数4227
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

ERROR 1142: select command denied to user: 'root@localhost' for table 'user' ↑Select権限もないみたいですね。 grant select on user.mysql to root@localhost identified by "password"; ↑これを実行して 再度、SELECT * FROM mysql.user WHERE User='ユーザ名';を実行してみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございました。 レンタルサーバ(GMO)のOS管理ソフトPLESKで データベースを作成し、それを操作できるユーザを登録するという しくみを使ったため、rootユーザ名義がシステム権限をもつのではなく adminユーザ名義がシステム権限を持つということが GMO担当の説明でわかりました。 が、しかし、ご回答のように grantコマンドを使って、操作権限を登録できること、大変勉強になりました。 ありがとうございました。

その他の回答 (1)

  • 回答No.1

何も設定変更していなくていきなり出来なくなったと言う事は無いハズです。 SELECT * FROM mysql.user WHERE User='ユーザ名'; ↑ご自分の権限を確認してみてください。 再度、ご質問の際にはもっと詳しく状況の説明をお願いします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 root名でログインしていますが ERROR 1142と返ってきます。 $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 385745 to server version: 3.23.58 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SELECT * FROM mysql.user WHERE User='root'; ERROR 1142: select command denied to user: 'root@localhost' for table 'user' mysql>

関連するQ&A

  • create databaseがうまくいきません。。

    databaseを新規に作成したいのですが 今使用しているDB(Oracle 10g Express Edition )は インストール時にデフォルトでデータベースを 作成してしまうため、 「create databese」のsql文を実行すると以下のエラーが出てしまいます。 すでにマウントってどういうことなのでしょうか。 ORA-01501: CREATE DATABASE文でエラーが発生しました。 ORA-01100: データベースはすでにマウントされています。 今存在するDB名が分かれば「drop」コマンドで 削除を試みようと思っているのですが DB名を参照する方法もよく分かりません。 どなたかご教授お願いします。

  • ERROR 1044

    MySQLでデータベースを作成しようと思い、 create database abc; と実行すると、 ERROR 1044 (42000): Access denied for user: ''@'localhost' to database 'abc' とエラーが表示されます。 どうしたらいいんでしょうか?

  • バッチファイル作成

    WindowsにMySQLを入れました。そこに、データベースやテーブルの作成をコマンドプロンプトからではなく、バッチで実行したいのですが、とりあえず、create database。sql と create table のテキストファイルは、作ったものの、どうしたらいいのかわかりません。教えてください。

    • ベストアンサー
    • MySQL
  • MYSQL CREATE DATABASE 権限

    MYSQL・PostgreSQLにてデータベースを作成できる権限をもつユーザを作成することは可能でしょうか? やりたいことは、ユーザAとユーザBを作成し、それぞれ新規にデータベースを作成してもらいます。 ユーザAの作成したデータベースは、ユーザAは自由に操作できますが、 ユーザBでは見ることも触ることもできない状態にしたいのです。 いろいろググってみたのですが、データベースに対して権限を与えるようなものしか見当たりませんでした。 よろしくお願いします。

  • 【至急】さくらサーバーMySQLインポート出来無

    誰か助けて下さい!! さくらインターネットのデータベースで、 MySQLのヴァージョンが低くて、 設置不能のブログ(ワードプレス等)があったので、 ヴァージョンを最新する方法を探していました。 「一回消して再登録する」という記事を読んで、 バックアップも取った上で再登録したのですが、 データをインポートできません。 以前のものは mysql24.db.sakura.ne.jp 今回のは mysql443.db.sakura.ne.jp です。 エクスポートしたデータは「SQL」 「SQL圧縮」「 CSV 」の3つで保存してあります。 再度データベースを作るときにデータベース名を入力する欄がありましたが 以前使っていたものには、そんな入力は要求されなかったような気がします。 もしかしたら、それが原因かも…と思っているのですが、 お分かりになる方いらっしゃいませんでしょうか。 エラーはこちら *-------------------------* エラー 実行した SQL: -- -- データベース: `aaa_01` -- CREATE DATABASE `aaa_01` ; MySQLのメッセージ: #1007 - Can't create database 'aaa_01'; database exists *------------------------------*

  • MySQLで新規DB作成時、エラーが表示される

    MySQLで新規データベース作成時、エラーが表示されてしまいます。 初歩的な質問になりますが、MySQLをセットアップしたのち、新規にデータベースを作成 するところでつまずいています。 新規作成する際、エラーが表示されてしまい、新規にデータベースを作成することができま せん。 どのようにすればよいのかわからずに困っております。どのようにすればよいかご存知の 方がいらっしゃいましたら教えてください。 なお、操作手順と使用環境は下記になります。 ■操作手順 MySQL Command Line Client からでも、コマンドプロンプトでも同じ結果になるのですが、 まずrootでログインします。 インストール時にパスワードを付けてないので、パスワードなしでログインしてます。 その後、>show databases; を打ち込みますと、既存のデータベース(インストール時のサ ンプル)が表示されます。もちろん、その中のテーブルも見れます。 この状態で「 samplebd 」という名称のdbを新規に作成しようとして、 >create database sampledb; としますと、下記のようなエラーが表示されてしまいます。 ■エラーメッセージ ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'samplebd' ■環境 Windowsserver2008 Apach,PHP,MySQL を構築してあります。 クライアントPC(Win7)からリモートデスクトップでアクセスしたり、直接サーバで操作を 行ったりもしますが、現象は変わらずエラーがでます。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • MySQLでDBが作成できない

    データベースを作ろうと create database sample; をしたところ ERROR 1044 (42000): Access denied for user 'user'@'localhost' to database 'sample' というエラーが出て、データベースが作成できません。 いろいろ探して同じような質問を見つけ、やってみたのですが解決できません・・・。 mysqlには mysql -uuser -p で入っています。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • ユーザー名にアンダーバーを含む場合のデータベース作成について

    ユーザー名にアンダーバーを含む場合のデータベース作成について mysql > create database demo_demo; mysql > grant all on demo_demo.* to demo_demo@localhost 上記のSQL を発行した場合、「demo_demo」というデータベースと、ローカルから「demo_demo」データベースにALL の権限の範囲内でアクセスできる「demo_demo」というユーザーが作成されると思います。ここで2点教えてください。 質問1: ALL権限には「create database」を許可するCREATE権限が含まれますが、上記「demo_demo.* 」のように、grant 時に特定のデータベースに対してのみALL権限を与えた場合の「create database」を許可するCREATE権限とはどういう意味を持つのでしょうか? 質問2: mysql > create database `demotdemo`; など、ユーザー名のアンダーバー部分に任意文字を当てたデータベースが無限に作成できてしまいます。アンダーバーがSQL的に「任意の一文字」に相当するとは理解していますが、「demotdemo」などのデータベースが作成できてしまうのはmysql の仕様でしょうか?また、ユーザーが「create database」可能かでないかの判定はどの権限で制御されているのでしょうか? 参考資料でもよいので教えてください。お願いします。

    • ベストアンサー
    • MySQL
  • 特権ユーザ情報の復元につきまして

    MySQL4.1+CentOS4.4+Apache2.0にてデータベース(12データベース)運用をしています(root nonpass)。 今回、誤って以下のオペレーションをしてしまいました。 ------------------------------------------------------------- phpMyAdminにて、 [特権]--->[ユーザをすべてチェック]--->[グローバル特権をすべて削除]--->実行 ------------------------------------------------------------- すると、phpMyAdminiのデータベースが表示されなくなり、赤字で「特権無し」の表示がされました。 コマンドラインにて、ログイン(root)したところ、 show databases; にて、DBが表示されなくなり、Grantコマンド、Create Userコマンドを実施してみたのですが、rootユーザ自体の権限がないもので、すべてのコマンドが弾かれてしまいます。 /var/lib/mysqlディレクトリにDBファイル(.MYD形式等)を保存しているのですが、こちらのDBファイルは、存在しています。 この状態からrootユーザ情報を復元するにはどうすればよいでしょうか。

  • ファイルを用いて一括でテーブルを作成できない

    csvデータをインポートするためにデータベース"database_6"を作成し、"create.sql"というファイルをユーザ"database_6"のホームディレクトリ"database_6"に配置した後、"database_6"でログインして、下記コマンドを実行し、テーブル"music"を作成しようとしたところ、 $ psql -e -f create.sql bash: psql: command not found というエラーメッセージが表示されます。なお、PostgreSQLは自動起動設定されています。"database_6"のOwnerは"postgres"で、下記の書籍に記載された方法(別の方法は何も記載されていない)でデータベース"database_6"を作成しました。 $ createdb database_6 で作成しまいた。そこで、同じく下記の書籍に記載された方法(別の方法は何も記載されていない)でユーザ"database_6"を作成しました。 $ createuser -d -A database_6 なお、ユーザ"postgres"を用いた場合には、 FATAL: database "postgres" does not exist というエラーメッセージが表示されます。