1.修改my.ini
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.17-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
# skip-grant-tables---修改密码利器
#skip-grant-tables
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2.将data目录删除
因为有数据(net start mysql )无法启动
3.输入如下生成data目录
mysqld --initialize(可能会报错)
mysqld --initialize --user=mysql --console
4.重置密码
my.ini修改
skip-grant-tables
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
重启mysql服务
net stop mysql
net start mysql
5进入mysql
mysql
update mysql.user set authentication_string=password("123456") where user="root";
6重启mysql服务
注释;my.ini修改
#skip-grant-tables
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
net stop mysql
net start mysql
7mysql -uroot -p123456进入mysql
执行下面命令(不然报错)
alter user user() identified by "root";
flush privileges;
8.最后就成功了