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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1215閲覧

update user set authentication_string=password("変更するパスワード") where user='root';でrootのパスワードが設定出来ない

sasasa333

総合スコア1

MySQL

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/06/28 11:53

編集2020/06/28 12:13

■実現したいこと
現在、phpで掲示板を作成中でmysqlに接続にしたい。

■前提
データベース名:board
テーブル名:message
ユーザ:root

■試したこと
接続の際、「1045 : Access denied for user 'root'@'localhost' (using password: NO)」と表示されるので、rootユーザに「update user set authentication_string=password("変更するパスワード") where user='root';」でパスワードを設定を試みました。

すると、「ERROR 1146 (42S02): Table 'board.user' doesn't exist」と 表示され、パスワードを設定出来ません。SELECT文でユーザを確認すると、確かにuserというユーザはいないので、以下のコマンドを実行しました。

update root set authentication_string=password("変更するパスワード") where user='root';

しかし、今度は「ERROR 1146 (42S02): Table 'board.root' doesn't exist」と 表示され、パスワードを設定出来ません。

rootユーザなので、存在しないはずはないのですが、どのようにしたらパスワードを設定出来るでしょうか。

■追記
「use board;」でデータベースを選択してから実行しています。

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

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

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

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

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

guest

回答1

0

MySQLのrootですか?
updateの次にくるのは基本的にテーブル名です。
MySQLリファレンス:update
ですので、update root  だと「rootというテーブル」を指定していることになります。

念のため「 Access denied」が出た時にMySQLにログインしているユーザがroot権限があるかどうか確認してください。
root権限がないのにrootのパスワードは変更できないはずですから。

下記も参考にしてください。(バージョンなどは重々確認のこと)
MySQL 5.7でrootユーザのパスワードを再設定
MySQLでパスワードを変更する「SET PASSWORD」
MySQLのrootパスワードを設定 - Linux環境

投稿2020/06/28 21:01

m.ts10806

総合スコア80850

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

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

sasasa333

2020/06/29 00:56

回答ありがとうございます。 mysqlのrootユーザです。 ご指摘頂いた通り、下記のようなコマンドに修正して、実行しました。 「update message set authentication_string=password("設定したいパスワード") where user='root';」 すると、今度は「ERROR 1054 (42S22): Unknown column 'user' in 'where clause'」といったエラーが発生して、whereの条件文が間違っていると指摘されます。 ユーザがrootユーザ、という条件文が間違っているのでしょうか。
m.ts10806

2020/06/29 01:08 編集

接続先データベースがboardではないのでは? boardにはMySQLのユーザーを管理するテーブルがないのでは?
sasasa333

2020/06/29 01:22

そもそもなのですが、rootユーザはデフォルトで存在しているユーザですよね。そこから、ユーザを管理するためにテーブルを作成する必要があるのでしょうか?
sasasa333

2020/06/29 02:37

無事rootユーザにパスワードが設定出来ました。 そこで、再度「$mysqli = new mysqli('localhost','root','設定したパスワード','board');」データベースに接続を試みました。 しかし、今度は「1045 : Access denied for user 'root'@'localhost' (using password: YES)」というエラーが発生しました。 新たに設定したパスワードはmysqlにrootユーザでログインする際に入力して、ログイン出来ているので、そこは問題ないと思っています。 接続環境、使用ユーザ、パスワード、接続DB、どれも間違っていないようなのですが、なぜでしょうか?
m.ts10806

2020/06/29 02:48

まず、コマンドからboardへのアクセスを試みてください。
sasasa333

2020/06/29 03:26

use board;のことでしょうか? それでしたら、アクセス出来ております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問