• ベストアンサー
  • 暇なときにでも

MySQLの権限の設定について

PostgreSQLからMySQLに移行しました。 コンピュータを起動させた後、毎回 MySQLのデータベースにアクセスする際に、 mysql mysql>grant all on *.* to root@localhost identified by ''; とさせてから、MySQLに接続させているのですが、毎回権限設定しない方法はどのようにしたら良いのでしょうか? MySQLは4.1.3B アカウント athena パスワード kingin で接続できるようにしたいです。 データベース値のパスワードの設定が必要でしょうか?

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

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

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

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

grantコマンドは1回実行すれば、それ以降データベースファイル(のmysqlデータベース)が存在する限り 権限はずっと有効だと思いますが、、、。 mysql>grant all on *.* to athena@localhost identified by 'kingin'; と、1回実行しておけば、ご質問のユーザ「athena」でデータベース接続出来るようになると思います。 蛇足ですが、上記の例だとすべてのデータベースにアクセス可能になってしまうので、 最低限でも mysql>grant usage on *.* to athena@localhost identified by 'kingin'; mysql>grant all on testdb.* to athena@localhost; として、特定のデータベース(この場合、「testdb」)にアクセス権限を制限しておくのが 無難だと思います。 くわしくは、マニュアル http://www.softagency.co.jp/mysql/Manual/4.1.1/html-split/manual.htmlhttp://www.softagency.co.jp/mysql/Manual/4.1.1/html-split/manual_4.html#SEC227 を参照してください。

参考URL:
http://www.softagency.co.jp/mysql/Manual/4.1.1/html-split/manual_4.html#SEC227

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

関連するQ&A

  • 全権限をもつユーザの追加方法

    環境 DB:mysql-5.0.70-r1 OS:WindowsXP上のVMWearServerにゲストOSとして構築したGentoo 質問内容 emerge mysql でmysql をインストール後、rootユーザが作成されていない ため、mysqlにログインできませんでした。my.cnfに skip-grant-tables を追加して、ログイン後 mysqlデータベースにたいし、 select * from user; でEmpty setと返ってきたため、そう判断しました。 また、このモードでは、たとえば、 GRANT ALL ON *.* TO hoge@"localhost"IDENTIFIED BY "hogehoge"; などができません。 どうすれば、全権限をもったユーザを作成できるのでしょうか。 何卒回答を宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • mysqlのユーザパスワードについて

    mysqlのユーザパスワードについて こんばんわ。mysql初心者です。 現在、サーバ(Linux Fedora11)でyumコマンドからmysql(Server version: 5.1.45 Source distribution) をダウンロードしてインストールしています。 新しいユーザーを作って接続を試みたのですが出来ません。 原因を調査した結果、パスワードが設定出来ていないようです。 一連の作業を例として下記の通りです。 例)------------------------------------------------------------------------------- [root@fedora user]# mysql -u root mysql> grant all privileges on *.* to user@"%" identified by 'user' with grant option; mysql> grant all privileges on *.* to user@localhost identified by 'user' with grant option; mysql> select user,host,password from mysql.user; +----+-----------------+-----------------+ | user | host           | password        | +----+-----------------+-----------------+ | root | localhost        |             | | root | fedora.fedorasrv.com |             | | root | 127.0.0.1        |             | | user | localhost        | 1a486e7929011a28 | | user | #             | 1a486e7929011a28 | +----+-----------------+-----------------+ mysql> exit; [root@fedora user]# mysql -u user -p 1a486e7929011a28 Enter password: ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: NO) [root@fedora user]# mysql -u user ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: NO) [root@fedora user]# mysql -u user -p user Enter password: ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: NO) ---------------------------------------------------------------------------------- userユーザのパスワードが保護(?)なのか設定した内容と違います。 保護されたパスワードで打ってもノーパスワードで打っても設定したパスワードでも接続出来ません。 ちなみに他のユーザで作成しても保護されたパスワードです。 どのようにしたら設定した通りのパスワードが作成されるかご教授願います。

    • ベストアンサー
    • MySQL
  • mysqlのユーザパスワードについて

    mysqlのユーザパスワードについて こんばんわ。mysql初心者です。 現在、サーバ(Linux Fedora11)でyumコマンドからmysql(Server version: 5.1.45 Source distribution)をダウンロードしてインストールしています。 新しいユーザーを作って接続を試みたのですが出来ません。 原因を調査した結果、パスワードが設定出来ていないようです。 一連の作業を例として下記の通りです。 例)------------------------------------------------------------------------------- [root@fedora user]# mysql -u root mysql> grant all privileges on *.* to user@"%" identified by 'user' with grant option; mysql> grant all privileges on *.* to user@localhost identified by 'user' with grant option; mysql> select user,host,password from mysql.user; +----+-----------------+-----------------+ | user | host           | password        | +----+-----------------+-----------------+ | root | localhost        |             | | root | fedora.fedorasrv.com |             | | root | 127.0.0.1        |             | | user | localhost        | 1a486e7929011a28 | | user | #             | 1a486e7929011a28 | +----+-----------------+-----------------+ mysql> exit; [root@fedora user]# mysql -u user -p 1a486e7929011a28 Enter password: ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: NO) [root@fedora user]# mysql -u user ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: NO) [root@fedora user]# mysql -u user -p user Enter password: ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: NO) ---------------------------------------------------------------------------------- userユーザのパスワードが保護(?)なのか設定した内容と違います。 保護されたパスワードで打ってもノーパスワードで打っても設定したパスワードでも接続出来ません。 ちなみに他のユーザで作成しても保護されたパスワードです。 どのようにしたら設定した通りのパスワードが作成されるかご教授願います。

    • ベストアンサー
    • MySQL
  • Mysql 何故エラーになるのですか?

    mysql> create user 'root'@'localhost' identified by 'rhythmkt0'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql> create user 'wordpress'@'localhost' identified by 'rhythm0!KT'; ERROR 1396 (HY000): Operation CREATE USER failed for 'wordpress'@'localhost' mysql> SELECT User, Host FROM mysql.user; +------------------+-----------+ | User | Host | +------------------+-----------+ | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | | wordpress | localhost | +------------------+-----------+ 5 rows in set (0.00 sec) 上記の様にエラーになります。 どこが誤っているのでしょうか? ご回答のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • MySQLにインストールについて

    お世話になっております。 Linuxを勉強しようと思い、VMwareエミュレータを使用してWindows上でCentosを動かしています。 そこで、PHPとApacheとMySQLが必要になったのでyumレポジトリからapache、Mysqlをインストール。PHPはソースをダウンロードしインストールしました。 MySQLのインストールで実行したスクリプト [root@localhost~#]yum -y install mysql mysql-server [root@localhost~#]vi /etc/my.cnf [mysqld] default-character-set = utf8 |_____この1行を追加しました。 [root@localhost~#]/etc/rc.d/init.d/mysqld start |_____MySQLの起動が確認できました。 [root@localhost~#]/usr/local/mysql/bin/mysql_install_db --user=mysql |_____MySQLの初期化を行いました。 [root@localhost~#]mysql -u root |_____ERROR 1045(28000):Access denied for user 'root'@'localhost'(Using Password:NO) というエラーが返されてしまいます。初期rootのパスワードは設定されていないと調べてわかったので、-pオプションはつけませんでした。 また、「my.cnf」ファイル内の[mysqld]フィールドに「skip-grant-tables」と追加記述しMySQLを再起動致しました。 するとログインできますが、rootユーザーのパスワードをアップデートしようと試みましたが、上記「「skip-grant-tables」とMySQLサーバが一緒に起動しています!とのエラーが出てしまい、結局rootユーザから接続できない状態です。 どなたか解決方法をご存知の方いらっしゃいましたら、アドバイスをお願い致します。

  • DBへの権限付与について

    MySQLで、ユーザーを作成しGRANT文でDBへの権限を 付与したのですが、DBにアクセスできません。 原因がわかりましたら、教えていただけますでしょうか。 まず、rootユーザーでユーザーを作成し、DBへの参照権限を付与。 >GRANT ALL ON TESTDB.* TO USER01@localhost IDENTIFIED BY 'passwd'; rootユーザーで権限を確認。 >SHOW GRANTS FOR USER01@localhost; GRANT USAGE ON *.* TO 'USER01'@'localhost' GRANT ALL PRIVILEGES ON `TESTDB`.* TO 'USER01'@'localhost' ユーザー:USER01 でログインし、DBの参照を確認。 > SHOW DATABASES; information_schema SHOW DATABASES の結果に、TESTDB が出てくるはずと 思うのですが、なぜ表示されないのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • MYSQL ユーザ作成について

    MYSQLのユーザ作成についてご質問させて頂きます。 管理者権限のあるユーザにてmysqlデータベースに接続し、 /usr/bin/mysql mysql -u admin -D mysql -p ユーザを作成しました。 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ON DB名.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード'; さまざまなサイトに記載されているとおり FLUSH PRIVILEGES; も行い、ユーザ一覧を確認してみると select * from mysql.user \G 権限が付与されていません。 Select_priv: N と表示されています。 エラー文が出てくるわけではないのでエラーではないと思いますが なぜなのでしょうか? ご教示ください。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • 助けてください。Xampp MySQLへログインできなくなってしまいました。

    お世話になります。 XampでMySQLを扱おうと悪戦苦闘中です。 サイト http://homepage1.nifty.com/gak/webdb/mysql.html と、 書籍 PHPによるWebアプリケーションスーパーサンプル第2版 p.740 を参考にしながら行いました。 最初 c:\zampp\mysql\bin>mysql -u root で、mysqlへ入れました。 そして、パスワードを設定しました。 mysql> use mysql Database changed 次にrootユーザーパスワードの設定をしました。 mysql> update mysql.user set password='****' where user='root'; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> 次に、mysqladminでもパスワードの設定ができるということが記載されていたので、一端MySQLをExitして、試してみました。 C:\xampp\mysql\bin>mysqladmin -u root password '**' mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)' と、いう結果でした。 どうも受け付けられなかったようです。 そして、再度MySQLへ入ろうと C:\xampp\mysql\bin>mysql -u root -p Enter password:****** ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwordO) となってログインできなくなってしまいました。 Enter password: で、先ほど設定したパスワードを入力しています。 MySQLのパスワードを忘れた場合は、という記載もありまして、 「--skip-grant-tables オプションを指定してmysqldを起動」 と、いうことでしたので以下のように実行してみましたが、やはりダメでした。 C:\xampp\mysql\bin>mysqld --skip-grant-tables C:\xampp\mysql\bin>mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password O) もう、お手上げです。 おわかりになる方見えましたら、なにとぞよろしくお願いします。 コマンド出力は記録をとりながら行っていたので、こうして記載もできました。

    • ベストアンサー
    • MySQL
  • mysqlへのリダイレクトができない。どこで脱線しているのでしょうか?

    FC4をインストールしたサーバとWindowsクライアントをハブで繋いでttsshを使用して練習しています。 1.データベースtestDBを次の要領で作り、 [root@**** ~]# mysql -uroot -pnaisho Welcome・・・・・ Your MySQL connection id is 7 to server version: 4.1.20 ・・・・・・・・・ mysql> create database testDB; Query OK, 1 row affected (0.29 sec) 2.DocumentRoot /var/www/html 直下に abcde ファイルを作り、 3.root@**** ~]# cd /var/www/html/abcde として [root@**** abcde]# mysql testDB < ADDRESS.sql のようにリダイレクトすると、 ERROR 1045 (28000): ユーザー 'root'@'localhost' を拒否します.uUsing password: NO) のエラーが出ます。 mysql> show grants for 'root'@localhost; で確かめると、 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY  PASSWORD '123456abcdefg' WITH GRANT OPTION となっており、パスワードは間違っていません。 念のため、サーバ単体上でリダイレクトしてみても、同様なエラーになります。 スーパーユーザが(と思っているのですが)、何故リダイレクトできないのでしょうか? 私の実力では、原因を想定することができません。どこで間違えているのでしょうか?

    • ベストアンサー
    • MySQL
  • xamppの設定の問題でしょうか。mysqlが全く使えません。

    PHPを独学しています。(プログラムはもちろん、PC自体、ほぼ初心者です) xamppでapacheとmysqlをインストールしたのですが、mysqlが(データベースが?)全く使えない状態です。 自分でいじったことは、 http://www.mtde.info/0210winxampp/winxampp_050.php ↑のページを参照しながら、 rootのパスワードの設定と、「xamppのディレクトリ制御」のユーザー名とパスワードの設定です。 (http://www.mtde.info/0210winxampp/winxampp_060.phpに書かれていることも設定しました) その後コマンドプロンプトで cd C:\xampp\mysql\binと入力し、(C:\xampp\mysql\bin> となり) ここでmysqlと入力することで 左側がmysql> と表示されるようにはなっているのですが、そこから何を打っても反応してくれません。(ただ改行されて、-> と表示されるだけなのです) 例えば、create database testdb と入力し、「testdb」というデータベースを作ろうと意図しても、作られた形跡はなく、 (show databases; としてやはり無反応ですし、PCでファイル検索しても出てきません) xamppの管理ツールのデモのCDコレクションをクリックしても、 Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in C:\xampp\htdocs\xampp\cds.php on line 77 データベースを接続できません! MySQLは稼動していますか?またはパスワードを変えませんでしたか? 上のように表示されます。xamppのコントロールパネルで「起動」しているのは間違いありません。 パスワードを変えたか?と聞かれたとき、思い浮かぶのは冒頭に書いたことだけです。 ならば、再度コマンドプロンプト上でパスワードを変更してみようと set password for root @localhost=password('12345'); などと入力してみても、パスワードが変更されることもありません。(冒頭で設定したパスワードのままです) 何をどのようにすれば、mysqlを使えるようになるのでしょうか? 教えてください。お願いします。