MySQL5.7.28免安装版配置

  • 下载
  • 安装配置
  • 问题及解决方案

 一、下载

 

找到你要的版本点击“looking for the latest GA version?”切换,我这个安装的是5.7.28,然后往下拉:

 

找到免安装的压缩包:

 

然后就进到了下载页面:

 

其实,并不要那么麻烦,直接使用这个下载的cdn连接就可以了:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-winx64.zip

 二、安装配置

2.1 解压文件到你安装数据的路劲下,例如我直接解压到了f盘下:

F:\mysql-5.7.28-winx64

2.2 解压出来的文件缺少my.ini配置文件和data文件夹:

 my.ini配置,根据注释说明和你自己的配置需要修改(配置参数只求安装,未考虑任何性能问题):

 1 #  MySQL Server Instance Configuration File
 2 #----------------------------------------------------------------------------
 3 #  Generated by the MySQL Server Instance Configuration Wizard
 4 #通过使用MySQL服务配置向导生成
 5 #  Installation Instructions
 6 
 7 #客户端参数配置
 8 #  CLIENT SECTION
 9 #----------------------------------------------------------------------------
10 [client]
11 #客户端通过3306端口连接MySQL数据库服务器,如果需要修改端口号,可以直接修改。
12 #Port=3306
13 #default-character-set=utf8mb4
14 loose_default_character_set=utf8mb4
15 [mysql]
16 #客户端的默认字符集。
17 default-character-set=utf8mb4
18 
19 #服务端参数配置
20 #  SERVER SECTION
21 #-----------------------------------------------------------------------------
22 [mysqld]
23 #服务器端口号。
24 port=3306
25 #MySQL数据库服务器的安装目录
26 basedir="F:\mysql-5.7.28-winx64"
27 #MySQL数据库文件目录
28 datadir="F:\mysql-5.7.28-winx64\data"
29 #忽略软件客户端的字符集,使用服务器的字符集
30 character-set-client-handshake=FALSE
31 #MySQL软件端的字符集
32 character-set-server=utf8mb4
33 #MySQL软件的存储引擎
34 default-storage-engine=INNODB
35 #  Set the SQL mode to strict
36 #MySQL软件的SQL模式
37 sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
38 #MySQL软件的最大连接数
39 max_connections=100
40 #MySQL软件的查询缓存
41 query_cache_size=0
42 #MySQL软件中可以打开的总表数
43 table_open_cache=256
44 #MySQL软件内存中可以存储临时表的最大值。
45 tmp_table_size=9M
46 #MySQL软件内存中可以保留的客户端连接线程数
47 thread_cache_size=8
48 #MySQL软件中重建索引时允许的最大临时文件的大小
49 myisam_max_sort_file_size=5G
50 #MySQL软件重建索引时允许的最大缓存大小
51 myisam_sort_buffer_size=17M
52 #MySQL最大关键字缓存大小.
53 key_buffer_size=10M
54 #MySQL软件全扫描MyISAM表时的缓存大小
55 read_buffer_size=64k
56 #MySQL软件可以插入排序好数据库的缓存大小
57 read_rnd_buffer_size=256k
58 #MySQL软件用户排序时缓存大小
59 sort_buffer_size=256k
60 #join 连表操作的缓存大小,根据实际业务来设置,默认8M
61 join_buffer_size=32M
62 
63 #关于INNODB存储引擎参数设置
64 #关于提交日志的时机
65 innodb_flush_log_at_trx_commit=1
66 #存储日志数据的缓存区的大小
67 innodb_log_buffer_size=1M
68 #缓存池中缓冲区的大小
69 innodb_buffer_pool_size=17M
70 #日记文件的大小
71 innodb_log_file_size=10M
72 #允许线程的最大数
73 innodb_thread_concurrency=8

2.3 配置系统环境变量

//系统变量
//变量名称
MYSQL
//变量值(安装路径)
F:\mysql-5.7.28-winx64

//在系统变量path添加一条记录
%MYSQL_HOME%\bin

2.4 初识化MySQL数据库,使用管理员权限启动控制台:

 

 

然后进入mysql安装路径,例如:F:\mysql-5.7.28-winx64\bin

f:
F:\>cd mysql-5.7.28-winx64
F:\mysql-5.7.28-winx64> cd bin
F:\mysql-5.7.28-winx64\bin>mysqld -initialize --user=mysql --console

一定要注意最后一行打印的信息: A temporary password is generated for root@localhost: ********(星号表示root的临时密码,后面登入数据库修改密码要用,记得保存好)

2.5 安装服务:

F:\mysql-5.7.28-winx64\bin>mysqld install MySQL --defaults-file="F:\mysql-5.7.28-winx64\my.ini"

安装成功后会提示:Service successfully installed.

2.6 安装服务:

//启动服务
F:\mysql-5.7.28-winx64\bin>net start MySQL

2.7 使用前面保存的临时密码修改你自己的密码:

mysql -u root -p

然后根据截图指示登入数据库,修改密码:

 

 修改完密码后退出再用新密码登入测试:

SET PASSWORD = PASSWORD('新密码');
//然后退出,再用新密码登入测试--注意第一个(exit;)后面记得跟分号--然后再
exit;
//回车退出
exit
//再回车就可退出数据库了

2.8 用新密码登入测试:

mysql -u root -p

 

输入你的密码登入数据库。

 

//测试查看所有数据库
show databases;

 

 安装完成了,快点开始你的骚操作吧。

 三、问题及解决方案

1.第一次配置文件中的数据库路径忘了写“\data”路径,直接使用mysqld -initialize --user=mysql --console安装,导致安装失败,失败导致错误的将文件生成到了根目录下。

解决办法:删除data文件夹及其他新生成的文件(对比最新解压出来的文件目录)。

然后关闭服务,可以使用命令关闭:

net stop MySQL

最好使用图形化界面查看服务,我当时还出现了mysql57服务,同样采用命令关闭。而且当时MySQL文件使用命令关闭后,其状态还是启动,指示被禁用而已。这是因为mysqld.exe进程还处于开启状态,需要关闭这个进程:

//查看mysqld.exe进程
tasklist | findstr "mysql"

这个查看结果忘了截图了,可以参考这篇博客:https://blog.csdn.net/pdcfighting/article/details/85345540

然后使用命令关闭进程:

taskkill /f /t /in mysqld.exe

这时候别急着重新开始安装,我当时在这个地方被windows系统缓存困了好久,因为可能还有sql相关进程没有关闭,和缓存依然没有清除,重新操作依然会发生之前一模一样的的错误。

解决办法:

打开任务管理器,关闭所有跟MySQL有关的进程,没截图,如果你遇到同样问题不懂的话,看谁长得像就关闭谁吧。

然后,继续灭绝师太的操作,使用垃圾清理工具,清除系统缓存、日志文件、临时文件、注册表垃圾等系统垃圾。

不好意思,忘了告诉你在这一系列操作之前关闭控制台,不过我当时也没有关闭,是后面清除垃圾后关闭的。然后再使用管理员状态启动控制台,再操作。

2.可能出现一种更头疼的问题,就是服务安装了,但是可能没有data路径下没有mysql数据库,这个操作跟上面一样,但是还有一种可能就是注册表已经注册了,这需要找到注册表,然后将整个注册表下的mySQL文件夹删除。然后重新操作。

3.可能出现配置错误,比如我出现过:

“table_cache=256”报错,这时因为这个配置废弃,被“table_open_cache=256”取代。

客户端的“Port=3306”配置出错,将[client]下的"port=3306"注释或者删除。

“default-character-set=utf8mb4”报错,这个也是因为配置废弃,被“loose_default_character_set=utf8mb4”取代。

'innodb_additional_mem_pool_size=2M'报错,这个也是因为INNODB存储引擎该配置废弃,查了好些资料都说不用配置了,不知道有没有替代配置,反正我直接删了这个配置项,然后就可以安装了。

4.按照上面的配置还可能出现“无用时区”问题,三个解决方案:

 

 方案一:修改设置当前系统时区,这个方案并不是很好,每次重启服务都需要设置一次。

 

 方案二:在my.ini中配置这个设置,这个方案算是一个长期的解决方案,因为每次启动服务都会根据这个配置设置当前系统时区。(记得要重启服务才能生效)

//在my.ini的[mysqld]下配置
default-time-zone='+08:00'

方案三:在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8

public static final  String URL="jdbc:mysql://localhost:3306/jdbc01?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";//链接的mysql
posted @ 2019-12-13 17:28  他乡踏雪  阅读(1797)  评论(0编辑  收藏  举报