MySQL 5.6 Install

简单记录下 mysql 5.6 的安装方式,便于以后查阅。

Windows 安装

本次安装环境:

  [plaintext]
1
2
3
4
OS 名称: Microsoft Windows 7 旗舰版 OS 版本: 6.1.7601 Service Pack 1 Build 7601 OS 制造商: Microsoft Corporation OS 配置: 独立工作站

下载

下载页面,点击下方

No thanks, just start my download.

解压

解压到任意路径,约定为 ${BASE_DIR}。本地是:

  [plaintext]
1
D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\

解压后的文件列表如下:

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
[bin] [data] [docs] [include] [lib] [mysql-test] [scripts] [share] [sql-bench] my-default.ini README COPYING

配置

指定 mysql 的配置

复制 my-default.ini,重命名为 my.ini

主要指定 basedir、datadir、port、server_id

修改内容如下:

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. basedir = D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64 datadir = D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\data port = 3306 server_id = 1 # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

安装服务

命令行(管理员模式)打开 ${BASE_DIR}\bin 下运行命令:

  [plaintext]
1
2
3
D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\bin> mysqld install MySQL_BackingStore --defaults-file=D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\my.ini

安装结果如下:

  [plaintext]
1
Service successfully installed.
  • 启动服务

服务列表启动,或者用下面的命令行启动:

  [plaintext]
1
2
D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\bin> net start MySQL_BackingStore

启动结果如下:

  [plaintext]
1
2
MySQL_BackingStore 服务正在启动 . MySQL_BackingStore 服务已经启动成功。
  • 移除服务
  [plaintext]
1
sc delete MySQL_BackingStore

错误

mysql启动发生错误1067

查看 windows 日志

【我的电脑】=》右键【管理】=》【事件查看器】=》【windows 日志】=>【应用程序】

1067 报错

https://www.cnblogs.com/huhyoung/p/9604272.html

找到报错信息如下:

  [plaintext]
1
Can't find messagefile 'E:\ ool\mysql-5.6.39-winx64\share\errmsg.sys'

可见这个文件夹 tool 使用 \t 被转意义了。

改一下名字吧,改成 mysql

访问 MySQL

命令行访问

  [plaintext]
1
D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\bin>mysql -uroot -p

默认密码为空。

  • 修改密码

修改为 123456

  [plaintext]
1
set password for root@localhost = password('123456');
  • 指定 mysql.exe path

每次都要跑到指定路径下很麻烦,

【环境变量】=》【系统变量】=》【Path】

在最后添加:

  [plaintext]
1
D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\bin;
  • 测试
  [plaintext]
1
2
C:\Users\bbhou>mysql --version mysql Ver 14.14 Distrib 5.6.39, for Win64 (x86_64)

windows7 安装

说明

mysql5.7

windows7 64 位操作系统

下载

5.7 下载界面

直接下载 5.7* 64 位:

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-winx64.zip

解压

解压到指定文件夹,比如此次测试为 D:\tool\mysql,解压后的文件夹如下:

  [plaintext]
1
2
3
4
D:\tool\mysql\mysql-5.7.31-winx64 λ ls bin/ docs/ include/ lib/ LICENSE README share/

配置

修改配置文件

进入解压后的目录,新建 my.ini 文件,修改basedir与datadir两个参数。

  [ini]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES' #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:/tool/mysql/mysql-5.7.31-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:/tool/mysql/mysql-5.7.31-winx64/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB

命令行安装

打开命令行窗口,进入 D:\tool\mysql\mysql-5.7.31-winx64\bin 下,依次运行

  [plaintext]
1
2
3
mysqld.exe --install MySQL mysqld.exe --initialize-insecure (不设置root密码,建议使用) net start mysql

Windows 10 安装

下载 & 解压

5.7 下载界面

此次测试环境为 win10 64 位。

所以直接下载了 mysql-5.7.24-winx64

解压到指定文件夹,比如此次测试为 D:\tool\mysql,解压后的文件夹如下:

  [plaintext]
1
2
3
4
5
$ pwd D:\tool\mysql\mysql-5.7.24-winx64 $ ls COPYING README bin/ docs/ include/ lib/ share/

修改配置文件

进入解压后的目录,新建 my.ini 文件,修改basedir与datadir两个参数。

本例如下:

  [ini]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES' #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:/tool/mysql/mysql-5.7.24-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:/tool/mysql/mysql-5.7.24-winx64/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB

命令行安装

打开命令行窗口,进入 D:\tool\mysql\mysql-5.7.24-winx64\bin 下,依次运行

  [plaintext]
1
2
3
mysqld.exe --install MySQL mysqld.exe --initialize-insecure (不设置root密码,建议使用) net start mysql
  • 临时密码

mysqld.exe --initialize 这种方式会生成一个临时密码。

可以在 D:\tool\mysql\mysql-5.7.24-winx64\data\SJ-JQ2508.err 中找到这个密码:

  [plaintext]
1
2018-11-08T06:49:43.305367Z 1 [Note] A temporary password is generated for root@localhost: ?8GQfhsQmMN;

登录

  • 登录
  [plaintext]
1
mysql -u root -p

输入密码即可(非安全模式则不用输入密码)

  • 修改密码
  [sql]
1
set password for root@localhost=password('你的密码');

比如最危险的密码:

  [plaintext]
1
set password for root@localhost=password('123456');

代码连接报错

报错信息

java connector 连接报错。

  [plaintext]
1
Path does not chain with any of the trust anchors

解决方案

验证了密码之类都是对的。

  [plaintext]
1
jdbc:mysql://localhost:3306/padmin?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC

原来使用的是 useSSL=true 改为 false 即可。

安装记录(windows7)

时间:2022年1月3日11:41:08

  • my.ini

内容如下:

  [ini]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysqld] # 设置3306端口 port=3306 # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB collation-server=utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' character-set-client-handshake = FALSE explicit_defaults_for_timestamp=true # 设置mysql的安装目录 basedir=D:/tools/mysql/mysql-5.7.24-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:/tools/mysql/mysql-5.7.24-winx64/data [client] default-character-set=utf8mb4
  • bin 路径
  [plaintext]
1
D:\tools\mysql\mysql-5.7.24-winx64\bin

安装

  • 安装命令
  [plaintext]
1
mysqld install MySQL --defaults-file=D:\tools\mysql\mysql-5.7.24-winx64\my.ini
  • 报错信息:
  [plaintext]
1
无法定位程序输入点fesetround于动态链接库MSVCR120.dll上
  • 解决方案

下载 Microsoft Visual C++ 2013 Redistributable Package 安装

https://support.microsoft.com/en-us/help/3138367/update-for-visual-c-2013-and-visual-c-redistributable-package

下载地址:

http://download.microsoft.com/download/b/e/8/be8a5444-cdd8-4d3d-ae09-a0979b05aee3/vcredist_x64.exe

下载完成后,安装修复对应的 DLL 问题即可。

  • 重新执行

正常安装,日志如下

  [plaintext]
1
Service successfully installed.

启动

  [plaintext]
1
net start mysql

如下:

  [plaintext]
1
2
3
4
5
6
MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助。

查询 3306 端口

  [plaintext]
1
netstat -ano | findstr 3306

发现没有 3306 的服务占用。

输出错误信息

输入命令 mysqld --console,日志选取如下:

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
... mysqld: Table 'mysql.plugin' doesn't exist 2022-01-03T04:06:26.778130Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 2022-01-03T04:06:26.779130Z 0 [Note] InnoDB: Buffer pool(s) load completed at 220103 12:06:26 2022-01-03T04:06:26.780130Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2022-01-03T04:06:26.781130Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key 2022-01-03T04:06:26.781130Z 0 [Note] Server hostname (bind-address): '*'; port: 3306 2022-01-03T04:06:26.784130Z 0 [Note] IPv6 is available. 2022-01-03T04:06:26.785130Z 0 [Note] - '::' resolves to '::'; 2022-01-03T04:06:26.786130Z 0 [Note] Server socket created on IP: '::'. 2022-01-03T04:06:26.787130Z 0 [Warning] Failed to open optimizer cost constant tables 2022-01-03T04:06:26.793131Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 2022-01-03T04:06:26.796131Z 0 [ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temporary table files. 2022-01-03T04:06:26.798131Z 0 [ERROR] Aborting

大概是以前的脏数据删错了。

所以重新安装了一下 mysql。(重新解压安装包,重新安装一遍。)

  [plaintext]
1
mysqld install MySQL --defaults-file=D:\tools\mysql\mysql-5.7.24-winx64\my.ini

这次依然启动失败,通过 mysqld --console 查看失败原因,是文件的指定问题。

  [plaintext]
1
2
3
4
5
6
7
mysqld: Can't change dir to 'D:\tools\mysql\mysql-5.7.24-winx64\data\' (Errcode: 2 - No such file or directory) 2022-01-03T04:12:53.312238Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled 2022-01-03T04:12:53.313238Z 0 [Note] mysqld (mysqld 5.7.24) starting as process 13084 ... 2022-01-03T04:12:53.320239Z 0 [Warning] Can't create test file D:\tools\mysql\mysql-5.7.24-winx64\data\PC-20210113XLZD.lower-test 2022-01-03T04:12:53.320239Z 0 [Warning] Can't create test file D:\tools\mysql\mysql-5.7.24-winx64\data\PC-20210113XLZD.lower-test 2022-01-03T04:12:53.325239Z 0 [ERROR] failed to set datadir to D:\tools\mysql\mysql-5.7.24-winx64\data\ 2022-01-03T04:12:53.326239Z 0 [ERROR] Aborting

(1)修复问题

  [plaintext]
1
mysqld --initialize

这个命令会把缺失的基本信息初始化,比如 data 文件夹,下面的一些文件。

ps: 直接手动创建 data 文件夹并不解决任何问题。

(2)重新启动

  [plaintext]
1
net start mysql

启动成功:

  [plaintext]
1
2
3
$ net start mysql MySQL 服务正在启动 . MySQL 服务已经启动成功。

(3)初始化密码

可以在 data/*.err 文件中找到如下的一句话:

  [plaintext]
1
2022-01-03T04:19:36.388407Z 1 [Note] A temporary password is generated for root@localhost: ********

用这个临时密码登录即可。

设置初始化密码

  • 登录
  [plaintext]
1
mysql -uroot -p

输入临时密码

  • 修改密码
  [plaintext]
1
set password for root@localhost = password('123456');

可以把初始密码更新为 123456。

卸载命令

ps: 这里做一下记录,如果需要下载可以使用。

  [plaintext]
1
mysqld --remove mysql

注意直接卸载会报错服务在运行,需要先停止服务,然后卸载。

windows11 安装笔记

mysql 下载

下载 & 解压

5.7 下载界面

此次测试环境为 win11 64 位。

所以直接下载了 mysql-5.7.39-winx64

解压到指定文件夹,比如此次测试为 D:\tool\mysql,解压后的文件夹如下:

  [plaintext]
1
2
3
4
5
$ pwd D:\tool\mysql\mysql-5.7.31-winx64\bin $ ls COPYING README bin/ docs/ include/ lib/ share/

修改配置文件

进入解压后的目录,新建 my.ini 文件,修改basedir与datadir两个参数。

本例如下:

  [ini]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES' #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:/tool/mysql/mysql-5.7.31-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:/tool/mysql/mysql-5.7.31-winx64/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB

命令行安装

打开命令行窗口,进入 D:\tool\mysql\mysql-5.7.31-winx64\bin 下,依次运行

  [plaintext]
1
2
3
mysqld.exe --install MySQL mysqld.exe --initialize-insecure (不设置root密码,建议使用) net start mysql

报错

  [plaintext]
1
由于找不到 MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。

解决方案 DLL 缺失

下载 Microsoft Visual C++ 2013 Redistributable Package 安装

https://support.microsoft.com/en-us/help/3138367/update-for-visual-c-2013-and-visual-c-redistributable-package

下载地址:

http://download.microsoft.com/download/b/e/8/be8a5444-cdd8-4d3d-ae09-a0979b05aee3/vcredist_x64.exe

下载完成后,安装修复对应的 DLL 问题即可。

登录

  • 登录
  [plaintext]
1
mysql -u root -p

非安全模式则不用输入密码,直接回车进入

  • 修改密码
  [sql]
1
set password for root@localhost=password('你的密码');

比如最危险的密码:

  [plaintext]
1
set password for root@localhost=password('123456');

参考资料

解决: windows 10 下 MySQL 启动后又自动停止问题

win10环境下MySql(5.7.24版本)安装过程出现安装MySQL无法定位程序输入点fesetround于动态链接库

关于我遇到的mysql5.7的一个错误

MySQL修改密码的3种方式