MySQL 5.6 Install

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

Windows 安装

本次安装环境:

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}。本地是:

D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\

解压后的文件列表如下:

[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

修改内容如下:

# 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 下运行命令:

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

安装结果如下:

Service successfully installed.
  • 启动服务

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

D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\bin>
net start MySQL_BackingStore

启动结果如下:

MySQL_BackingStore 服务正在启动 .
MySQL_BackingStore 服务已经启动成功。
  • 移除服务
sc delete MySQL_BackingStore

错误

mysql启动发生错误1067

查看 windows 日志

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

1067 报错

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

找到报错信息如下:

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

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

改一下名字吧,改成 mysql

访问 MySQL

命令行访问

D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\bin>mysql -uroot -p

默认密码为空。

  • 修改密码

修改为 123456

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

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

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

在最后添加:

D:\Learn\mysql\mysql-5.6.39-winx64\mysql-5.6.39-winx64\bin;
  • 测试
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,解压后的文件夹如下:

D:\tool\mysql\mysql-5.7.31-winx64

λ ls
bin/  docs/  include/  lib/  LICENSE  README  share/

配置

修改配置文件

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

[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 下,依次运行

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,解压后的文件夹如下:

$   pwd
D:\tool\mysql\mysql-5.7.24-winx64

$   ls
COPYING  README  bin/  docs/  include/  lib/  share/

修改配置文件

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

本例如下:

[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 下,依次运行

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 中找到这个密码:

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

登录

  • 登录
mysql -u root -p 

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

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

比如最危险的密码:

set password for root@localhost=password('123456');

代码连接报错

报错信息

java connector 连接报错。

Path does not chain with any of the trust anchors

解决方案

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

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

内容如下:

[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 路径
D:\tools\mysql\mysql-5.7.24-winx64\bin

安装

  • 安装命令
mysqld install MySQL --defaults-file=D:\tools\mysql\mysql-5.7.24-winx64\my.ini
  • 报错信息:
无法定位程序输入点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 问题即可。

  • 重新执行

正常安装,日志如下

Service successfully installed.

启动

net start mysql

如下:

MySQL 服务正在启动 .
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

查询 3306 端口

netstat -ano | findstr 3306

发现没有 3306 的服务占用。

输出错误信息

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

...
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。(重新解压安装包,重新安装一遍。)

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

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

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)修复问题

mysqld --initialize

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

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

(2)重新启动

net start mysql

启动成功:

$ net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

(3)初始化密码

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

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

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

设置初始化密码

  • 登录
mysql -uroot -p

输入临时密码

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

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

卸载命令

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

mysqld --remove mysql 

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

windows11 安装笔记

mysql 下载

下载 & 解压

5.7 下载界面

此次测试环境为 win11 64 位。

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

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

$   pwd
D:\tool\mysql\mysql-5.7.31-winx64\bin

$   ls
COPYING  README  bin/  docs/  include/  lib/  share/

修改配置文件

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

本例如下:

[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 下,依次运行

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

报错

由于找不到 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 问题即可。

登录

  • 登录
mysql -u root -p 

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

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

比如最危险的密码:

set password for root@localhost=password('123456');

参考资料

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

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

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

MySQL修改密码的3种方式