《Mysql实例Windows下安装MySQL 5.7.17压缩版中遇到的坑》要点:
本文介绍了Mysql实例Windows下安装MySQL 5.7.17压缩版中遇到的坑,希望对您有用。如果有疑问,可以联系我们。
MYSQL必读首先下载最新的MySQL 5.7.17 Community 压缩版 for Windows 64-bit:
MYSQL必读官方下载地址:http://dev.mysql.com/downloads/mysql/
MYSQL必读
MYSQL必读然后解压到安装目录(如C:\Prog\MySQL\).接下来复制my-default.ini为my.ini,修改my.ini如下:
MYSQL必读
[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
MYSQL必读之后用“管理员身份”打开cmd――“管理员身份”这很重要,进入安装目录安装MySQL服务:
MYSQL必读
C:\Prog\MySQL\bin>mysqld install
Service successfully installed.
MYSQL必读然后启动MySQL服务:
MYSQL必读
net start mysql
MYSQL必读刚开始以为就这么简单,可是幺蛾子的却报错了:
MYSQL必读
MYSQL必读如果是通过Windows系统的“服务”启动,则提示:
MYSQL必读
MYSQL必读问题出得实在是心塞不已,查了许久,原来是:
MYSQL必读If you installed MySQL using the Noinstall package, you may need to initialize the data directory:
MYSQL必读具体可参考这两个链接:
MYSQL必读2.3.5.4 Initializing the Data Directory
MYSQL必读2.10.1.1 Initializing the Data Directory Manually Using mysqld
MYSQL必读原因找到了,那我们来手动Initialize Data Directory一下啊:
MYSQL必读
mysqld --defaults-file=C:\Prog\MySQL\my.ini --initialize-insecure
MYSQL必读
MYSQL必读然后依次:
MYSQL必读
net start mysql
mysql -u root -p
MYSQL必读熟悉的mysql>应该就出来了.
MYSQL必读希望对遇到类似坑的人有所帮助,究其原因就是5.7.7及以后的压缩包版本,更改为需要手动Initialize Data Directory了.
MYSQL必读技无一招鲜,坑要一路填.
MYSQL必读我的环境:
MYSQL必读(分割线,以上MySQL 5.7.17就算安装完毕了.)
MYSQL必读最后手贱,搞个SQLAlchemy测试MySQL:
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?charset=utf8mb4')
CONN = ENGINE.connect()
USERINFO = Table('userinfo',
MetaData(),
Column('id', Integer, primary_key=True, autoincrement=True),
Column('name', CHAR(24, charset='utf8mb4')),
mysql_charset='utf8mb4')
USER = select([USERINFO])
RESULT = CONN.execute(USER)
for row in RESULT:
print(row.name)
RESULT.close()
CONN.close()
MYSQL必读结果发现输出结果的同时有个报警:
MYSQL必读Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 480")
MYSQL必读这是怎么回事呢?要说各种字符集设置都检查n次,应该没啥问题了......
MYSQL必读
MYSQL必读无数次思考、试验中,发现了啥?发现了啥?发现只要show variables like '%charac%';一下,就会出来一个告警!
MYSQL必读再来看看这个这个Warning:
MYSQL必读
MYSQL必读不正是它吗?MySQL的Bug莫不是?!OMG!
MYSQL必读好吧!重回MySQL 5.6.35!
MYSQL必读
MYSQL必读告警不见了!
MYSQL必读接着重新建库、建表,测试程序:
MYSQL必读
MYSQL必读这下OK了,最终还是兜了一圈回到了MySQL 5.6.35.
MYSQL必读安静地写Python,没人吵,也不像前端撕来撕去的――岁月静好、Python静好.
MYSQL必读最后赞一下Visual Studio Code:
MYSQL必读
MYSQL必读总结
MYSQL必读以上就是这篇文章的全部内容了,希望自己的一些经验能帮到同样遇到这些问题的朋友们,如果有疑问大家也可以留言交流.
转载请注明本页网址:
http://www.vephp.com/jiaocheng/3898.html