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