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

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

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

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

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

Q&A

解決済

2回答

835閲覧

MySQLのrootのパスワードを変更したい。

takahirocook

総合スコア1

MySQL

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

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

0グッド

0クリップ

投稿2020/06/22 22:03

編集2020/06/23 03:04

前提・実現したいこと

#MySQLのrootのパスワードを変更したい。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

前提・実現したいこと

#MySQLのrootのパスワードを変更したい。

発生している問題・エラーメッセージ

ローカル環境で開発をするため、ターミナルでMySQL、Railsのサーバーをたて、http://localhost:3000/につなげようとすると以下のようなエラーが出ました。![![ローカルホストの接続が拒否されました](33f4860b897e8953c559ba54c064a17c.png)
解決にはMySQLのrootのパスワード設定が必要らしいのですが、

mysql.server start

でサーバー立ち上げ

mysql -uroot -p

パスワード入力

mysql> update mysql.user set password=password(‘Passwordpass3!') where user = 'root';

と入力すると

MySQL

1ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Passwordpass3!') where user = 'root'' at line 1

(訳)
エラー1064(42000):SQL構文にエラーがあります。 MySQLサーバーのバージョンに対応するマニュアルで、 '(' Passwordpass3! ')の近くで使用する正しい構文を確認します。ここで、user =' root ''の1行目です。

返されてしまいます

該当のソースコード

MySQL

1ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Passwordpass3!') where user = 'root'' at line 1

試したこと

https://qiita.com/hiro266/items/c8d9eaff46fcd08dacc5
検索した結果この記事を参考にになりそうだったので読んだところ

■エラーの原因:
SQLの文法に誤りがある。
■エラーへの対処法:
MySQLのバージョンとマニュアルを確認し、SQL文を見直す。 こちらもクォーテーションなど区切り文字には注意が必要。

とあるので文法ミスとあたりを付けて調べました。
MySQLのバージョン確認
イメージ説明

MySQL 文法 ルール とググりましたが、紐付きそうな情報が分からず、記事の一部にあったシングルクオーテーション部分を``バッククオーテーションに変更しました。
イメージ説明

しかし同じエラーが出てしまい、解決が難しかったです

問題について自分なりに考えたこと(デバッグ結果/検索結果/自分なりの原因予想)

パスワード内の大文字の「P」と「!」が影響しているのかなと考えましたが、決定的な情報が見つからず解決が難しかったです。

すいませんがアドバイスいただけるとありがたいです。

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

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

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

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

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

m.ts10806

2020/06/22 22:37

SQL Server は本件とはどのように関係するのでしょう。 SQL Serverは「サーバーそのもの」ではなく、マイクロソフト製のDBです。
takahirocook

2020/06/22 23:16

ありがとうございます! SQL Server は本件とはどのように関係するのでしょう。 SQL Serverは「サーバーそのもの」ではなく、マイクロソフト製のDBです。 <すいません、勉強不足で不適切なタグをつけてしまい申し訳ありませんでした。 今回初投稿でタグの修正に手間取っていますが、少々お待ちください。
takahirocook

2020/06/23 03:35

変更完了いたしました!遅くなりましたが確認お願いします。 ご指摘いただきありがとうございました。
guest

回答2

0

ベストアンサー

デバグとして

SQL

1select password('Passwordpass3!')

でパスワードが表示されるか確認するところから

投稿2020/06/23 00:17

yambejp

総合スコア114784

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

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

yambejp

2020/06/23 00:19

mysqladminコマンドがつかえるなら、一旦grantをスキップしてサーバーを たちあげて、パスワードを変更、flush privilegesした上で、サーバーを立ち上げ直します mysqld_safe --user=mysql --skip-grant-tables --skip-networking & mysqladmin -u root password '新しいパスワード' mysqladmin -h localhost flush-privileges
takahirocook

2020/06/23 03:25

デバグとして select password('Passwordpass3!') でパスワードが表示されるか確認するところから <MySQLサーバー 立ち上げ→ mysql -uroot -p→ パスワードを入力してログイン後→ 入力 SELECT PASSWORD('Passwordpass3!'); 結果 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Passwordpass3!')' at line 1 同じく構文エラーが帰ってきました。
yambejp

2020/06/23 03:38

PASSWORD関数は5.6以前のもので5.7.6の時点で非推奨となり、 8.0.11で完全に削除されたとのことです。(よくみたら環境8.0.19ですね) ALTER USER root@localhost IDENTIFIED BY '新しいパスワード'; するみたいですよ
takahirocook

2020/06/23 03:50

ありがとうございます!上記のコマンドで無事に変更が完了しました!!! バージョンによって仕様が変わるのは大変勉強になりました。 初投稿で質問力も未熟ですが、最初に環境などの情報を載せておくべきでしたね、大変失礼しました! 本当にありがとうございます!
guest

0

まずは、

password(‘Passwordpass3!')

パスワードとしてしているする文字列を囲っているのは、' (シングルクォート) になっていますか?

質問に記載されているのは、シングルクォートではないように見えます。

投稿2020/06/22 22:28

CHERRY

総合スコア25171

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

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

takahirocook

2020/06/23 00:01

返信遅くなりました!申し訳ありません。 https://blog.codecamp.jp/root-password 先ほど添付し忘れていましたが、こちらの記事を参考にし、コマンドをコピペして進めておりました。 password(‘Passwordpass3!') パスワードとしてしているする文字列を囲っているのは、' (シングルクォート) になっていますか? 質問に記載されているのは、シングルクォートではないように見えます。 <ご指摘ありがとうございます!ただいま改めて手打ちでシングルクオートに打ち直し、コピペの際確認をしていますが、やはりまだ解決ができないです。 コマンド mysql> update mysql.user set password=password('Passwordpass3!') where user = 'root'; 結果 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Passwordpass3!') where user = 'root'' at line 1 https://gyazo.com/fac46516ac2406271bea199d8e8a6148
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問