数据库安装

Windows下MySQL的安装方式有两种,一种是通过msi安装程序的方式来进行安装,另外一种是通过下载zip压缩包来进行安装。下面我们通过第二种方式来进行安装。

下载

通过浏览器打开[==https://dev.mysql.com/downloads/mysql/==],选择zip压缩包下载

解压文件

将下载好zip压缩包解压到要安装的目录,我这里的路径为:==D:\Dev\mysql==

创建选项文件

如果你需要指定启动MySQL的选项配置,可以通过创建配置文件,使MySQL每次启动都能使用该配置。特别地当我们需要指定MySQL数据存放目录、MySQL服务配置(比如:内存、缓存等),都可通过创建配置文件来指定。

MySQL启动的时候会默认的去C:\和安装目录下寻找配置文件。

现在我们在==D:\Dev\mysql==下创建my.ini

1
2
3
4
5
[mysqld]
# 设置安装路劲
basedir=D:/Dev/mysql
# 设置数据存放目录
datadir=D:/Dev/mysql/data

注意:通过解压ZIP的形式安装默认是没有data目录的,需要通过后面初始化来创建

初始化数据目录

在D:\Dev\mysql\bin目录下执行CMD命令完成初始化,并会生成一个随机密码

1
mysqld.exe --defaults-file=D:\Dev\mysql\my.ini --initialize --console

注意:这里要记录下生成的随机密码

初次启动MySQL

1
mysqld.exe --console

通过CMD命令启动MySQL

1
2
3
4
# 开启服务
mysqld.exe
# 关闭服务
mysqladmin.exe -u root shutdown

设置MySQL工具环境变量路径

添加环境变量,在Path后追加

1
2
# 设置变量以后不需要在bin目录就直接能在cmd命令窗口下使用mysqld、mysqladmin等命令
D:\Dev\mysql\bin

以Windows服务的形式启动MySQL

如果你不想每次开机以后都手动输入mysqld命令去启动MySQL,你可以注册服务来实现开机启动,在CMD窗口命令输入以下第一个命令即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#这里注册的服务默认的名称是MYSQL和配置
mysqld.exe --install

#这里指定服务名称和配置
mysqld.exe --install MYSQL --default-file=D:\Dev\mysql\my.ini
#这里可以指定服务名称
mysqld.exe --install mysql2
#删除服务
sc DELETE MYSQL

## 现在我们可以通过net命令来启动和停止mysql服务

# 启动
net start mysql
# 停止
net stop mysql

注意:这里需要以管理员身份执行命令

修改密码

  • 在CMD窗口输入:==mysql -u root -p==
  • 输入初始化时的随机密码
  • 执行sql语句修改默认随机密码:==alter user ‘root’@’localhost’ identified by ‘****’;==

测试MySQL安装结果

执行:mysqlshow -u root -p,会打印出数据库列表表示安装成功

其他

  • 如果在windows下安装多个mysql,我们需要修改my.ini文件
1
2
3
4
5
6
7
8
9
10
11
12
13
[mysqld]
# 设置安装路劲
basedir=C:\\mysql\\mysql8.0
# 设置数据存放目录
datadir=C:\\mysql\\mysql8.0\\data
port=3308

[mysql]
default-character-set=utf8

[client]
port=3308
default-character-set=utf8
  • 设置时区

通过命令方式:

1
2
3
4
5
6
# 登录
mysql -u root -p
# 设置时区
set global time_zone = '+8:00';
# 查看时区
show variables like '%set global time_zone%';

通过配置文件方式:

1
2
3
4
5
6
#修改my.ini,在[mysqld]下增加
default-time_zone = '+8:00'

## 重启服务
net start mysql8
net stop mysql8
  • 密码过期

登录提示:’Your password has expired. To log in you must change it using a client that supports expired passwords.’

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 修改my.ini,设置为不需要密码登录,在[mysqld]后追加如下
[mysqld]
skip-grant-tables=ture
# 登录
> mysql -u root -p
# 首次登录先修改密码
> alter user 'root'@'localhost' identified by '****';
# 使用数据库
> use mysql
# 修改密码过期标识
> update user set password_expired="N" where user="root";
# 刷新
> flush privileges;
# 退出
> quit

参考

[0]MySQL官方英文文档