基于Windows 10安装Mysql 8.0.17

笔者之前写过一篇在centos中安装Mysql的文章(Centos7.2安装Mysql5.7(阿里云)),今天再来一篇在windows中安装最新版本Mysql8.0的教程。

基于Windows 10安装Mysql 8.0.17

1. 安装文件方式安装

官方安装教程:https://dev.mysql.com/doc/ref...

1.1 下载

地址:https://dev.mysql.com/downloads/

需要下载如下安装程序:

1.2 安装条件

1.2.1 .NET Framework

MySQL Installer requires Microsoft .NET Framework 4.5.2 or later. If this version is not installed on the host computer, you can download it by visiting the Microsoft website.

1.2.2 Python 3.7

https://www.python.org/downlo...

1.2.3 Visual Studio

2. 压缩文件方式安装

官方安装教程:https://dev.mysql.com/doc/ref...

下载: https://dev.mysql.com/downloa...

2.1 解压安装包

  1. 确保解压目标目录是具有管理员权限
  2. 选择一个安装目标目录,然后把下载好安装包解压到这里。如:C:\01_soft\mysql\mysql-8.0.17

    • 默认情况下,Mysql的安装目录为 C:\mysql

2.2 创建配置文件

  1. 在Mysql的根目录下创建一个配置文件 my.ini
  2. 添加基本配置如下:

    [mysqld]
    # 设置3306端口
    port=3306
    # set basedir to your installation path
    basedir=C:\\01_soft\\mysql\\mysql-8.0.17
    # set datadir to the location of your data directory
    datadir=C:\01_soft\mysql\data
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口和默认字符集
    port=3306
    default-character-set=utf8

2.3 首次启动服务

使用如下命令启动Mysql 服务:mysqld --console,如果没有加--console选项,则是后台启动,启动日志会在data目录下生成一个日志文件。

基于Windows 10安装Mysql 8.0.17

可以使用如下命令停止Mysql服务:mysqladmin -u root shutdown,如果有设定密码,则需要加上-p选项。

参考链接:https://dev.mysql.com/doc/ref...

2.4 初始化数据目录

  1. 使用如下命令初始化操作(有两种方式,一种生成密码,一种不生成密码)

    • mysqld --initialize --console,会先生成一个随机密码,后面再更改。
    2019-09-08T06:57:33.121749Z 0 [System] [MY-013169] [Server] C:\01_soft\mysql\mysql-8.0.17\bin\mysqld.exe (mysqld 8.0.17) initializing of server in progress as process 12504
    2019-09-08T06:57:36.134237Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: AvNZY7G_z97(
    2019-09-08T06:57:37.185553Z 0 [System] [MY-013170] [Server] C:\01_soft\mysql\mysql-8.0.17\bin\mysqld.exe (mysqld 8.0.17) initializing of server has completed
    • mysqld --initialize-insecure --console,不会生成密码

初始化完成后,数据目录就会默认生成如下配置:

基于Windows 10安装Mysql 8.0.17

2.修改默认root密码

  • 使用如下命令连接Mysql Server,mysql -u root -p,然后会提示你输入刚才生成的随机密码。
  • Enter password: (enter the random root password here)
  • 连接成功后如下图所示:

基于Windows 10安装Mysql 8.0.17

  • 使用如下命令更改密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

    基于Windows 10安装Mysql 8.0.17

参考链接:https://dev.mysql.com/doc/ref...

2.5 配置环境变量

可以把mysql执行命令所在目录加到windows环境变量中,如: C:\01_soft\mysql\mysql-8.0.17\bin

参考链接:https://dev.mysql.com/doc/ref...

2.6 安装Windows服务

2.6.1 安装服务

  1. 安装Windows服务之前需要把mysql服务停止:mysqladmin -u root -p shutdown
  2. 通过如下命令安装服务:mysqld --install mysql,注意必须以管理员身份打开命令提示符窗口。安装完成有如下提示:Service successfully installed.
  3. 如果需要手动启动服务,则使用命令 mysqld --install-manual 即可

2.6.2 启动/停止服务

  1. 使用如下命令都可以启动mysql服务

    • sc start mysqld_service_name
    • NET START mysqld_service_name
  2. 使用如下命令可以停止mysql服务

    • sc stop mysqld_service_name
    • NET STOP mysqld_service_name

2.6.3 移除服务

  1. 移除之前需要停止服务
  2. 使用命令 mysqld --remove即可

参考链接: https://dev.mysql.com/doc/ref...

2.7 测试Mysql安装是否完成

使用以下命令即可显示出Mysql是否安装成功。

  1. mysqlshow -uroot -p,输入密码后,显示如下数据库信息。

    基于Windows 10安装Mysql 8.0.17

  2. mysqladmin -uroot -p version status proc

    基于Windows 10安装Mysql 8.0.17

参考链接:https://dev.mysql.com/doc/ref...

3. 遇到的问题

3.1 时区问题

https://blog.csdn.net/vkingne...

https://www.wangzhenhua.rocks...