[解決済み】MySQLユーザーDBにパスワードカラムがない - OSXへのMySQLインストール
2022-01-29 09:51:35
質問
MySql の root パスワードを変更しようとしています。
私が行ったことは以下の通りです。
- MySql-5.7.6〜.dmg(Community Server)とワークベンチをインストールします。
- OSXのシステム環境設定からサーバーをオフにします。
-
コンソールでMySqlにアクセスします。コマンドは
mysqld_safe --skip-grant
-
実行
update user set password=password('1111') where user='root';
というエラーメッセージが表示されました -->ERROR 1054 (42S22): Unknown column 'password' in 'field list'
.
参考までに、私が行った
use mysql;
.
そこで、userテーブルにselectクエリを実行したところ、passwordカラムが実際には存在しないことがわかりました。
とても奇妙なことです。元のユーザーテーブルにパスワードカラムがない可能性がありますか?
存在しないパスワードを変更するにはどうすればよいですか?
回答ありがとうございました :D
どのように解決するのですか?
MySQL 5.7 で mysql.user テーブルのフィールドのパスワードフィールドが削除され、フィールド名が 'authentication_string' になっています。
まず、データベースを選択します。
mysql>use mysql;
そして、テーブルを表示する。
mysql>show tables;
userテーブルが見つかったので、そのフィールドを見てみましょう。
mysql> describe user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Reload_priv | enum('N','Y') | NO | | N | |
| Shutdown_priv | enum('N','Y') | NO | | N | |
| Process_priv | enum('N','Y') | NO | | N | |
| File_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Show_db_priv | enum('N','Y') | NO | | N | |
| Super_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Repl_slave_priv | enum('N','Y') | NO | | N | |
| Repl_client_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Create_user_priv | enum('N','Y') | NO | | N | |
| Event_priv | enum('N','Y') | NO | | N | |
| Trigger_priv | enum('N','Y') | NO | | N | |
| Create_tablespace_priv | enum('N','Y') | NO | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int(11) unsigned | NO | | 0 | |
| max_updates | int(11) unsigned | NO | | 0 | |
| max_connections | int(11) unsigned | NO | | 0 | |
| max_user_connections | int(11) unsigned | NO | | 0 | |
| plugin | char(64) | NO | | mysql_native_password | |
| authentication_string | text | YES | | NULL | |
| password_expired | enum('N','Y') | NO | | N | |
| password_last_changed | timestamp | YES | | NULL | |
| password_lifetime | smallint(5) unsigned | YES | | NULL | |
| account_locked | enum('N','Y') | NO | | N | |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
45 rows in set (0.00 sec)
驚き!'password'というフィールドはなく、パスワードフィールドは'authentication_string'という名前です。だから、こうすればいいんです。
update user set authentication_string=password('1111') where user='root';
これで、すべてがうまくいくでしょう。
MySQL 5.6 と比較すると、かなり広範囲に渡って変更されています。 MySQL 5.7 の新機能
関連
-
[解決済み】autoカラムは1つしか存在できない
-
[解決済み】1052:フィールドリストの列「id」が曖昧である
-
[解決済み】mysqlが内部または外部のコマンド、操作可能なプログラムまたはバッチとして認識されない。
-
[解決済み】MySQLエラー#1071 - 指定されたキーが長すぎる; キーの最大長は767バイトです。
-
[解決済み】SQL ZOO 各大陸とアルファベット順で1位の国名をリストアップする
-
[解決済み] "sqlstate[23000]: 整合性制約違反 "を有効な制約で
-
[解決済み] whereステートメントによるmysqlの一括更新
-
[解決済み] MySQLの更新datetimeフィールド
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MySQLのforeachループ
-
[解決済み] MySQL エラー: キーの長さがないキー指定
-
[解決済み] MySQLです。テーブルを作成できません (errno: 150)
-
[解決済み] この操作を行うには、少なくとも1つのSUPER権限が必要です。
-
[解決済み] MongoDBのようにMySQLにもTTLがあるのでしょうか?
-
[解決済み] dpkg: error processing package mysql-server (dependency problems)?
-
[解決済み] #1045 - ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセスが拒否されました。
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み】macOSでbrew install mysqlをする。
-
[解決済み] ERROR 1045 (28000): ユーザー 'root'@'localhost' (使用パスワード:YES) のアクセスが拒否されました。