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 日志】=>【应用程序】
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* 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 安装
下载 & 解压
此次测试环境为 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 下载
下载 & 解压
此次测试环境为 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于动态链接库