然后解压到安装目录(如C:ProgMySQL)。接下来复制my-default.ini为my.ini,修改my.ini如下:
[mysql]default-character-set=utf8mb4[mysqld]basedir = C:ProgMySQLdatadir = C:ProgMySQLdataport = 3306max_connections=200character-set-server=utf8mb4collation-server=utf8mb4_general_cidefault-storage-engine=INNODBjoin_buffer_size = 128Msort_buffer_size = 2Mread_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES之后用“管理员身份”打开cmd——“管理员身份”这很重要,进入安装目录安装MySQL服务:
C:ProgMySQLin>mysqld installService successfully installed.然后启动MySQL服务:
net start mysql刚开始以为就这么简单,可是幺蛾子的却报错了:
如果是通过Windows系统的“服务”启动,则提示:
问题出得实在是心塞不已,查了许久,原来是:
If you installed MySQL using the Noinstall package, you may need to initialize the data directory:
mysqld --defaults-file=C:ProgMySQLmy.ini --initialize-insecure
然后依次:
net start mysqlmysql -u root -p熟悉的mysql>应该就出来了。
"""SQLAlchemy操作MySQL测试"""from sqlalchemy import create_engine, Table, Column, Integer, MetaDatafrom sqlalchemy.dialects.mysql import CHARfrom sqlalchemy.sql import selectENGINE = 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()结果发现输出结果的同时有个报警:
无数次思考、试验中,发现了啥?发现了啥?发现只要show variables like "%charac%";一下,就会出来一个告警!
再来看看这个这个Warning:
不正是它吗?MySQL的Bug莫不是?!OMG!
好吧!重回MySQL 5.6.35!
告警不见了!
接着重新建库、建表,测试程序:
这下OK了,最终还是兜了一圈回到了MySQL 5.6.35。
安静地写Python,没人吵,也不像前端撕来撕去的——岁月静好、Python静好。
最后赞一下Visual Studio Code:
总结
以上就是这篇文章的全部内容了,希望自己的一些经验能帮到同样遇到这些问题的朋友们,如果有疑问大家也可以留言交流。