1.无法启动服务

cd 到mysql安装路径,执行了初始化 mysqld --initialize。

2.无法登录:忘记默认密码

(1)在my.ini中

mysqld下增加

skip-grant-tables

#无密码登录

(2)登录mysql,修改密码

desc mysql.user 查询mysql数据库下的user表 字段 没有password

mysql> update user set password=password(“新密码”) where user=”用户名”;

执行后报错 ERROR 1054(42S22) Unknown column 'password' in ‘field list’

错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

mysql> update mysql.user set authentication_string=password('*******') where user='*******'; #修改密码成功

Query OK, 1 row affected, 1 warning (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 1

(3)在my.ini中

mysqld下去掉

skip-grant-tables

问题:mysql文件夹下没有my.ini配置文件;新建复制一下内容

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

# 设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=???

# 设置mysql数据库的数据的存放目录

datadir=??:\ ?? \MySQL\MySQL Server 5.7\data

# 允许最大连接数

max_connections=20

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

#设置协议认证方式(重点啊)

default_authentication_plugin=mysql_native_password