首先下载最新的MySQL 5.7.17 Community 压缩版 for Windows 64-bit:

官方下载地址:http://dev.mysql.com/downloads/mysql/

Windows下安装MySQL 5.7.17压缩版中遇到的坑

然后解压到安装目录(如C:\Prog\MySQL\)。接下来复制my-default.ini为my.ini,修改my.ini如下:

[mysql]
default-character-set=utf8mb4

[mysqld]
basedir = C:\Prog\MySQL
datadir = C:\Prog\MySQL\data
port = 3306
max_connections=200
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-storage-engine=INNODB
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

之后用“管理员身份”打开cmd——“管理员身份”这很重要,进入安装目录安装MySQL服务:

C:\Prog\MySQL\bin>mysqld install
Service successfully installed.

然后启动MySQL服务:

net start mysql

刚开始以为就这么简单,可是幺蛾子的却报错了:

Windows下安装MySQL 5.7.17压缩版中遇到的坑

如果是通过Windows系统的“服务”启动,则提示:

Windows下安装MySQL 5.7.17压缩版中遇到的坑

问题出得实在是心塞不已,查了许久,原来是:

If you installed MySQL using the Noinstall package, you may need to initialize the data directory:

  • Windows distributions prior to MySQL 5.7.7 include a data directory with a set of preinitialized accounts in the mysql database.
  • As of 5.7.7, Windows installation operations performed using the Noinstall package do not include a data directory. To initialize the data directory, use the instructions at Section 2.10.1.1, “Initializing the Data Directory Manually Using mysqld”.

具体可参考这两个链接:

2.3.5.4 Initializing the Data Directory

2.10.1.1 Initializing the Data Directory Manually Using mysqld

原因找到了,那我们来手动Initialize Data Directory一下啊:

mysqld --defaults-file=C:\Prog\MySQL\my.ini --initialize-insecure

Windows下安装MySQL 5.7.17压缩版中遇到的坑

然后依次:

net start mysql
mysql -u root -p

熟悉的mysql>应该就出来了。

希望对遇到类似坑的人有所帮助,究其原因就是5.7.7及以后的压缩包版本,更改为需要手动Initialize Data Directory了。

技无一招鲜,坑要一路填。

我的环境:

  • Windows 10 64-bit
  • MySQL Community Server 5.7.17 for Windows (x86, 64-bit), ZIP Archive

(分割线,以上MySQL 5.7.17就算安装完毕了。)

最后手贱,搞个SQLAlchemy测试MySQL:

"""SQLAlchemy操作MySQL测试"""

from sqlalchemy import create_engine, Table, Column, Integer, MetaData
from sqlalchemy.dialects.mysql import CHAR
from sqlalchemy.sql import select

ENGINE = create_engine('mysql+pymysql://root:@127.0.0.1:3306/test"Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 480")

这是怎么回事呢?要说各种字符集设置都检查n次,应该没啥问题了......

 Windows下安装MySQL 5.7.17压缩版中遇到的坑

无数次思考、试验中,发现了啥?发现了啥?发现只要show variables like '%charac%';一下,就会出来一个告警!

再来看看这个这个Warning:

Windows下安装MySQL 5.7.17压缩版中遇到的坑 

不正是它吗?MySQL的Bug莫不是?!OMG!

好吧!重回MySQL 5.6.35!

Windows下安装MySQL 5.7.17压缩版中遇到的坑 

告警不见了!

接着重新建库、建表,测试程序:

Windows下安装MySQL 5.7.17压缩版中遇到的坑 

这下OK了,最终还是兜了一圈回到了MySQL 5.6.35。

安静地写Python,没人吵,也不像前端撕来撕去的——岁月静好、Python静好。

最后赞一下Visual Studio Code:

Windows下安装MySQL 5.7.17压缩版中遇到的坑

总结

以上就是这篇文章的全部内容了,希望自己的一些经验能帮到同样遇到这些问题的朋友们,如果有疑问大家也可以留言交流。

标签:
mysql,5.7.17,windows,mysql5.7压缩版安装,mysql压缩包安装教程

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。