下载

点击下面的链接:
https://dev.mysql.com/downloads/

选择要下载的安装包类型

  • MySQL Community Server,压缩包类型
  • MySQL Installer for Windows,windows安装包类型

本文档以压缩包类型进行介绍

选择和系统位数相对应的版本,点击右边的Download,此时会进到另一个页面,不用理会上面的登录和注册按钮,直接点击No thanks, just start my download.即可下载。


安装(解压)

下载完成后得到的是压缩包文件,将其解压,就可得到MySQL的软件本体(就是一个文件夹),可以把它放在想安装的位置。


配置

添加环境变量

环境变量中有很多选项,这里只用到Path这个参数。

系统变量中新建MYSQL_HOME变量名,变量值为解压后的文件夹路径。

系统变量中找到并双击Path,添加变量值%MYSQL_HOME%\bin

最后点击确定。

验证是否添加成功

选择命令提示符(管理员),在终端中输入mysql,回车。
如果提示Can't connect to MySQL server on 'localhost'则证明添加成功;
如果提示mysql不是内部或外部命令,也不是可运行的程序或批处理文件则表示添加失败,需重新检查步骤并重试。


新建配置文件

新建一个文本文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 5.X
[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# 8.X
[mysql]
default-character-set=UTF8MB4

[mysqld]
port=3306
character-set-server=UTF8MB4
default-storage-engine=INNODB
#datadir=d:/soft/mysql-8.0.31-winx64/mysql_data # 可指定数据库文件存放位置,默认在安装包内
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

将上面的文本文件另存为文件名叫my.ini,存放的路径为MySQL的根目录


初始化MySQL

在终端中输入mysqld --initialize-insecure,回车,稍微等待一会,如果没有出现报错信息则证明data目录初始化没有问题,此时再查看MySQL目录下已经有data目录生成。

1
2
3
mysqld --initialize # 该命令会生成一个随机密码。密码保存在Mysql日志文件中,搜索temporary password。
mysqld --initialize-insecure # 可以不生成随机密码,设置数据库空密码。
#以上任选一种即可,但第2种方式,需将sql_mode中NO_AUTO_CREATE_USER删除

注册MySQL服务

在终端中输入mysqld -install,回车。

1
mysqld -install

现在计算机上已经安装好了MySQL服务,可通过services.msc管理服务。


启动MySQL服务

在终端中输入net start mysql,回车。

1
2
3
net start mysql  // 启动mysql服务

net stop mysql // 停止mysql服务

修改默认账户密码

在终端中输入mysqladmin -u用户名 -p随机密码 password 新密码,这里的随机密码就是指在data目录中后缀名为err的文件中查找password发现的随机登录密码,即可修改密码。

也可在登录mysql后修改密码。

1
2
3
4
5
6
7
8
9
mysqladmin -u用户名 -p旧密码 password 新密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
SET PASSWORD FOR root@localhost = 'root';
alter user user() identified by 'root';


UPDATE mysql.user set authentication_string = PASSWORD ("rootpwd) WHERE User = "root" and Host="localhost"; # mysql 8已失效
flush privileges;

允许远程登录

默认情况下Mysql中所有的用户都只能本机访问,可通过以下两种途径修改

  • 把需要远程访问的用户的host字段值改成%。
  • 新增一个用户,host字段值为%,赋予所有权限。
1
2
3
4
5
6
7
8
# 设置远程登录(8前)
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

# 设置远程登录(8后)
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL ON *.* TO 'root'@'%';
# ALTER USER 'root'@'%' IDENTIFIED BY 'root'; 使用mysql8默认加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; # 使用mysql_native_password加密方式

登录MySQL

在终端中输入,mysql -uroot -proot,回车,出现下图且左下角为mysql>,则登录成功。

1
mysql -uroot -proot

退出mysql:

1
2
exit
quit

登录参数:

1
mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -P端口号(默认3306)

卸载MySQL

  1. 关闭服务,在终端中输入如下命令
1
net stop mysql
  1. 删除服务,在终端中输入如下命令
1
mysqld -remove mysql
  1. 最后删除MySQL目录及相关的环境变量