Windows下Mysql 5.7.21(Zip)的安装配置以及初始密码报错的问题简单总结

一.下载
官网:https://dev.mysql.com/downloads/mysql/
二.解压
这个随便放,我放的是D盘下面:
D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
三.配置系统环境变量:
MYSQL_HOME  D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
path后面添加:;%MYSQL_HOME%\bin(注意win10单独一行写,不要写分号,否则系统会找不到环境变量的)
四.设置默认配置
需要在自己的mysql的安装目录下,添加一个MySQL的配置文件my.ini文件,同时新建一个空的data目录来存放mysql数据库的数据
my.ini文件的内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录 (*根据自己设置的目录修改)
basedir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
# 设置mysql数据库的数据的存放目录 (*根据自己设置的目录修改)
datadir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
注意:my.ini这个文件保存的时候编码格式一定要是保存为ANSI格式文件,如果保存成UniCode会报如下错误的
Found option without preceding group in config file

五.数据库服务初始化:
以 管理员身份 运行cmd.exe,执行:
mysqld --initialize --user=mysql --console
这条命令会对MySQL服务进行初始化,同时分配一个 初始密码
MySQL安装:
执行mysqld --install MySQL, 显示Service successfully installed. 说明安装成功。
启动服务:
net start MySQL
停止服务:
net stop MySQL
六。初始密码修改:
1.首先打开 my.ini 文件,在 [mysqld] 这一项行下添加 skip-grant-tables ,保存退出。
现在my.ini文件的内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-grant-tables
#设置3306端口
port = 3306
# 设置mysql的安装目录 (*根据自己设置的目录修改)
basedir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
# 设置mysql数据库的数据的存放目录 (*根据自己设置的目录修改)
datadir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.在服务中找到mysql服务,右键停止
运行mysqld --defaults-file="D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64" --console --skip-grant-tables
注:目录以及文件名根据实际需要替换,这个时候你会发现窗口打印了不少东西而且一直在打印
3.打开另外一个cmd窗口,以管理员身份运行
mysql -uroot -p  然后回车
这个时候会让你输入密码,直接回车,进去了
4.分别输入下面两个命令
use mysql;
update user set authentication_string=password("123456") where user="root";
//将密码设置为12345
5.然后运行flush privileges这个命令刷新数据库
6.重启一下数据服务
启动服务:
net start MySQL
停止服务:
net stop MySQL
7.启动成功之后,然后再mysql -uroot -p 回车之后,要求输入密码,输入123456 然后回车就进去到SQL的命令行模式了
8.这个时候如果执行一条sql语句或者输入show database就会出现错误,如下:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
然后我们直接在mysql命令行模式下直接输入命令:SET PASSWORD = PASSWORD('123456');
会出现报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这次我们需要退出MySQL,将配置文件my.ini中添加的skip-grant-tables 这行删去
9.重启mysql服务
启动服务:
net start MySQL
停止服务:
net stop MySQL
再次执行SET PASSWORD = PASSWORD('123456')
然后sql语句就可以正常执行了
9.最后修改root密码永不过期
命令是:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页