《Mysql實(shí)例Windows下安裝MySQL 5.7.17壓縮版中遇到的坑》要點(diǎn):
本文介紹了Mysql實(shí)例Windows下安裝MySQL 5.7.17壓縮版中遇到的坑,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL必讀首先下載最新的MySQL 5.7.17 Community 壓縮版 for Windows 64-bit:
MYSQL必讀官方下載地址:http://dev.mysql.com/downloads/mysql/
MYSQL必讀
MYSQL必讀然后解壓到安裝目錄(如C:\Prog\MySQL\).接下來(lái)復(fù)制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必讀之后用“管理員身份”打開(kāi)cmd――“管理員身份”這很重要,進(jìn)入安裝目錄安裝MySQL服務(wù):
MYSQL必讀
C:\Prog\MySQL\bin>mysqld install
Service successfully installed.
MYSQL必讀然后啟動(dòng)MySQL服務(wù):
MYSQL必讀
net start mysql
MYSQL必讀剛開(kāi)始以為就這么簡(jiǎn)單,可是幺蛾子的卻報(bào)錯(cuò)了:
MYSQL必讀
MYSQL必讀如果是通過(guò)Windows系統(tǒng)的“服務(wù)”啟動(dòng),則提示:
MYSQL必讀
MYSQL必讀問(wèn)題出得實(shí)在是心塞不已,查了許久,原來(lái)是:
MYSQL必讀If you installed MySQL using the Noinstall package, you may need to initialize the data directory:
MYSQL必讀具體可參考這兩個(gè)鏈接:
MYSQL必讀2.3.5.4 Initializing the Data Directory
MYSQL必讀2.10.1.1 Initializing the Data Directory Manually Using mysqld
MYSQL必讀原因找到了,那我們來(lái)手動(dòng)Initialize Data Directory一下?。?/p>
MYSQL必讀
mysqld --defaults-file=C:\Prog\MySQL\my.ini --initialize-insecure
MYSQL必讀
MYSQL必讀然后依次:
MYSQL必讀
net start mysql
mysql -u root -p
MYSQL必讀熟悉的mysql>應(yīng)該就出來(lái)了.
MYSQL必讀希望對(duì)遇到類(lèi)似坑的人有所幫助,究其原因就是5.7.7及以后的壓縮包版本,更改為需要手動(dòng)Initialize Data Directory了.
MYSQL必讀技無(wú)一招鮮,坑要一路填.
MYSQL必讀我的環(huán)境:
MYSQL必讀(分割線,以上MySQL 5.7.17就算安裝完畢了.)
MYSQL必讀最后手賤,搞個(gè)SQLAlchemy測(cè)試MySQL:
MYSQL必讀
"""SQLAlchemy操作MySQL測(cè)試"""
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必讀結(jié)果發(fā)現(xiàn)輸出結(jié)果的同時(shí)有個(gè)報(bào)警:
MYSQL必讀Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 480")
MYSQL必讀這是怎么回事呢?要說(shuō)各種字符集設(shè)置都檢查n次,應(yīng)該沒(méi)啥問(wèn)題了......
MYSQL必讀?
MYSQL必讀無(wú)數(shù)次思考、試驗(yàn)中,發(fā)現(xiàn)了啥?發(fā)現(xiàn)了啥?發(fā)現(xiàn)只要show variables like '%charac%';一下,就會(huì)出來(lái)一個(gè)告警!
MYSQL必讀再來(lái)看看這個(gè)這個(gè)Warning:
MYSQL必讀?
MYSQL必讀不正是它嗎?MySQL的Bug莫不是?!OMG!
MYSQL必讀好吧!重回MySQL 5.6.35!
MYSQL必讀?
MYSQL必讀告警不見(jiàn)了!
MYSQL必讀接著重新建庫(kù)、建表,測(cè)試程序:
MYSQL必讀?
MYSQL必讀這下OK了,最終還是兜了一圈回到了MySQL 5.6.35.
MYSQL必讀安靜地寫(xiě)Python,沒(méi)人吵,也不像前端撕來(lái)撕去的――歲月靜好、Python靜好.
MYSQL必讀最后贊一下Visual Studio Code:
MYSQL必讀
MYSQL必讀總結(jié)
MYSQL必讀以上就是這篇文章的全部?jī)?nèi)容了,希望自己的一些經(jīng)驗(yàn)?zāi)軒偷酵瑯佑龅竭@些問(wèn)題的朋友們,如果有疑問(wèn)大家也可以留言交流.
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/3898.html