我正在try 更改MySql根密码.

下面是我所做的.

  1. 安装MySql-5.7.6~.dmg(社区服务器)和工作台.
  2. 关闭OSX系统首选项上的服务器.
  3. 通过控制台访问MySql.命令是mysqld_safe --skip-grant
  4. Execute update user set password=password('1111') where user='root'; and got an error message --> ERROR 1054 (42S22): Unknown column 'password' in 'field list'.

仅供参考,我做了use mysql;次.

这很奇怪.原始用户表是否可能没有密码列?

如何更改不存在的密码?

谢谢你的回答:D

推荐答案

在MySQL 5.7中,MySQL中的密码字段.用户表字段已删除,现在字段名为"authentication_string".

首先 Select 数据库:

mysql>use mysql;

然后展示表格:

mysql>show tables;

您将找到用户表,现在让我们看看它的字段:

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相比,更改非常广泛:What’s New in MySQL 5.7

Mysql相关问答推荐

SQL查询仅插入5行

在mySQL中使用子查询和WHERE子句的JOIN

MySQL binlog事件上的并发事务行为

为大表优化 Django 模型

基于其列之一内的值查询模型

使用 autocommit = 0 和 InnoDB 表的 LOCK TABLES 检测死锁

MySQL,递归 CTE.它如何以这种句法形式工作?

如何同时从同一个表中 Select 从 SQL 表中删除行

需要按总金额检索前 3 个供应商,每个类别 - 子类别

如何在 SQL 中计算留存曲线?

如何使用同一个表在 2 个字段上左连接

MySQL中的会话客户端是什么

即使我的约束是正确的,如何解决 errno: 150 外键约束形成错误?

如何在sql中挑出某些名称

如何在不违反唯一约束的情况下交换 MySQL 中两行的值?

如何查看打开了多少 MySQL 连接?

错误 1396 (HY000): 'user'@'localhost' 的操作 DROP USER 失败

在 WHERE 子句中使用 CASE

Sequelize Query 查找日期范围内的所有记录

为什么 GRANT 在 MySQL 中不起作用?