介绍如何将官网下载的 MySQL zip 包配置成系统服务,以及 MySQL 的基本配置和初始化。
免安装版下载
点击进入 MySQL 官网下载页面,选:Windows (x86, 64-bit), ZIP Archive
配置
解压至:C:\dev\mysql-8.0.11-winx64
,并在此目录添加一个空目录:data
配置文件
在解压目录添加 my.ini,内容如下1
2
3
4
5
6
7
8
9
10
11
12
13[mysqld]
basedir = C:\dev\mysql-8.0.11-winx64
datadir = C:\dev\mysql-8.0.11-winx64\data
port = 3306
lower_case_table_names = 1
default_authentication_plugin=mysql_native_password
character-set-server = utf8mb4
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
my.ini 文件,网上文章也有说可以不用添加的,暂时未测试。
安装成系统服务
以管理员身份运行 cmd,进入:C:\dev\mysql-8.0.11-winx64\bin
运行:mysqld --install MySQL
1
2C:\dev\mysql-8.0.11-winx64\bin>mysqld --install MySQL
Service successfully installed.
添加环境变量
- 新增 MySQL 环境变量:
MYSQL_HOME = C:\dev\mysql-8.0.11-winx64
- 修改 Path 环境变量,Path变量下,末尾新增
%MYSQL_HOME%\bin
初始化数据库
如果是从另外一台电脑复制过来,连同上面配置提到的 data 目录一起复制的,那么:
- 数据库和用户名、密码都有了,就不需做初始化数据库,请跳过这一步,也不需要修改默认密码,直接启动即可
- 如果不记得管理员账号或密码,那就只能初始化
在MySQL安装目录的 bin 目录下执行初始化命令:mysqld --initialize --console
1
2
3
4C:\dev\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2018-05-10T09:06:15.354597Z 0 [System] [MY-013169] [Server] C:\dev\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 11688
2018-05-10T09:06:19.145900Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: k,h>nFBok8Hw
2018-05-10T09:06:20.432456Z 0 [System] [MY-013170] [Server] C:\dev\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
- 注意看提示:
A temporary password is generated for root@localhost: k,h>nFBok8Hw
- 我们先记住初始密码,一会儿会用上(每次初始化的密码都不一样,你要看自己的提示):
k,h>nFBok8Hw
- 删掉 data 目录下的所有目录和文件,再执行一遍初始化命令,又会重新生成,相当于重新初始化。
启动
cmd 执行:net start MySQL
1
2
3C:\dev\mysql-8.0.11-winx64\bin>net start MySQL
The MySQL service is starting.
The MySQL service was started successfully.
修改默认密码
初始化之后,必须修改默认密码,否则使用不了,如下,试着创建新数据库。
先用默认密码登录1
2
3
4
5
6
7
8
9
10
11
12
13C:\Users\AndyChen>mysql -uroot -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.11
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
试着创建数据库
1 | mysql> create schema if not exists apg default character set utf8mb4; |
修改默认密码
1 | mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'RoOtPaSs'; |
创建数据库并导入数据
1 | mysql> create schema if not exists apg default character set utf8mb4; |
检查导入的表
1 | mysql> show tables; |
绿色版卸载
以管理员身份执行
- 停止 MySQL 服务
- mysqld –remove
- 删除 mysql 根目录下 my.ini 配置的 data 目录,删除 mysql server 相关文件
1 | C:\WINDOWS\system32>mysqld --remove |
遇到的坑
启动时报错
1 | C:\dev\mysql-8.0.11-winx64\bin>net start mysql |
解决办法:进入 Mysql 根目录下的 bin 目录,找到 mysqld 这个大小为 0 kb 的“二逼”文件,删除,然后就可以各种开心的玩耍了。
并非每台电脑都如此。
再次 mysqld –install 时失败
因为执行了 mysqld –remove 之后,系统服务显示“禁用“,再次 install 及 remove 均会提示失败,在重启系统之前,还有之前安装的残留,所以需要重启系统,重启之后就可以重新 install 了。
druid 连接报错
1 | java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. |
原因是数据库驱动版本和数据库版本不匹配。
解决:根据自己的数据库版本去这个地址选择合适的驱动版本
比如我的数据库版本是 8.0.11,那么对应的驱动为:1
2
3
4
5<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
连接 MySQL 报错
出现在中文操作系统 win10 上,英文操作系统 win10 正常1
The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
解决:数据库连接参数添加1
&serverTimezone=Hongkong
完整连接参数如下:1
jdbc.url=jdbc:mysql://127.0.0.1:3306/apg?useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&socketTimeout=20000&serverTimezone=Hongkong
MySQL Workbench
官方、免费、强大的 mySQL 客户端,推荐使用
workbench 下载
安装之前,先下载并安装 vc++ 2019 运行库:https://aka.ms/vs/16/release/VC_redist.x64.exe
5.6.x 服务启动后,修改密码
1 | set password for 'root'@'localhost'= password('@#$kd3429DAnd'); |
配置 mysql-8.0.19-winx64
1 | mysqld --install MySQL |
提示:1
2mysqld.exe - 系统错误
由于找不到 VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题。
链接: https://pan.baidu.com/s/1dQF8FTFWAjL_zEGjj57kkw 提取码: j2ty
下载该文件放到 C:\Windows\System32,再次执行即可。