質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

4回答

51502閲覧

mysql -u ユーザー名 -pでDBにアクセスできません。

growthposition

総合スコア98

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

1グッド

2クリップ

投稿2016/08/23 13:32

現在、DBにアクセス制限がかかっているので、
新しくアクセスできるユーザーを作成したと考えております。

しかし、下記エラーが出ます。

ERROR 1045 (28000): Access denied for user 'ユーザー名'@'localhost' (using password: YES)

下記、作業手順になります。
1)DBがあるサーバにアクセス
【root@名前】ssh DBが入っているサーバーのIPアドレス

2)【root@DBの名前】mysql

3)CREATE USER user1 IDENTIFIED BY [PASSWORD] 'password1', でユーザーを作成

4)exitで2に戻る

  1. 3で作ったユーザー、パスワードで

【root@DBの名前】mysql -u ユーザー -p
enter password: パスワード

と入力するとERROR 1045 (28000): Access denied for user 'ユーザー名'@'localhost' (using password: YES)

とエラーが出てしまいます。

こちらどうすれば解決出来ますでしょか
恐縮ですが、お力をお借りできればと存じます。

何卒宜しくお願い致します。

asai569👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

ユーザーを作成するときに権限を設定していないからですね。create user文で作ったユーザーは、後で権限を設定する必要があります。それが面倒な場合は、最初からgrant文を使ってユーザーを作った方がてっとり早いです。以下は全権限を付与した場合です。

> grant all privileges on *.* to 'ユーザ名'@'ホスト名' identified by 'パスワード名' with grant option;

これで全権限を持ったユーザを作成できます。その後

flush privileges;

これで権限を保存しておいてください。同じ名前を作らない方がいいので、前の権限を持っていないユーザーはdrop user xxx;で消しておいた方がいいです。

あと、このサーバ環境は何ですか?

投稿2016/08/24 05:37

FKM

総合スコア3608

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

growthposition

2016/08/24 10:26

ありがとうございます。 こちらで対応できたっぽいです!!
guest

0

【root@】mysql -h DBのIPアドレス DBの名前 -u ユーザー -p
enter password: パスワード
で入れるのではないでしょうか?

投稿2016/08/23 14:58

Yatsurugi

総合スコア1628

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

んー、MySQLは同じユーザーIDでも接続プロトコル・IPアドレス毎に全く別のユーザーになるのね。

多分なんだけど、

CREATE USER user1 IDENTIFIED BY 'password1'

ってやると、unixソケットでの接続ユーザー user1 とかになるんじゃないかな?

Access denied for user 'ユーザー名'@'localhost' (using password: YES)

とか言われているってことは、

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password1';

とかにやると、どうだろう?

MySQLはよく知らんから勘だけどね。

投稿2016/08/23 13:53

robo_mania

総合スコア33

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

CREATE USERしたあと、

MySQL

1flush privileges \g

しました?

追記

すみません。
権限の問題であればHostにlocalhostを指定してuserを作り
権限を付加してみてはどうでしょうか?

MySQL

1CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password1' 2UPDATE mysql.user SET Select_priv='Y' WHERE User='user1' AND Host='localhost'; 3FLUSH PRIVILEGES;

Hostを指定しないで作ったuser1はHostが「%」になっているので
むしろ削除してしまったほうがよいかも

投稿2016/08/23 13:52

編集2016/08/23 14:34
yambejp

総合スコア114585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

growthposition

2016/08/23 14:17

ありがとうございます。 こちら試してみましたが、変化ありませんでした。
yambejp

2016/08/23 14:34

権限について追記しておきました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問